ใน direct mode, the FIFO error flag สามารถถูกเซ็ตภายใต้เงื่อนไขต่อไปนี้ได้อีกด้วย:
• ใน the peripheral-to-memory mode, the FIFO สามารถถูกทำให้อิ่มตัวได้ (overrun) ถ้า the memory bus ไม่ถูกอนุญาตให้
สำหรับ several peripheral requests.
• ใน the memory-to-peripheral mode, an underrun condition อาจเกิดขึ้นถ้า the memory bus ไม่ถูกอนุญาตให้ก่อน a
peripheral request เกิดขึ้น.
ถ้า the TEIFx or the FEIFx flag ถูกเซ็ตเนื่องจากความไม่ลงรอยกันระหว่าง burst size และ FIFO threshold level, the faulty stream จะถูกปิดใช้งานโดยอัตโนมัติผ่านทาง a hardware ที่เคลียร์ EN bit ของมันใน the corresponding stream configuration register (DMA_SxCR).
ถ้า the DMEIFx or the FEIFx flag ถูกเซ็ตเนื่องจาก an overrun or underrun condition, the faulty stream จะถูกปิดใช้งานโดยอัตโนมัติและมันขึ้นอยู่กับซอฟต์แวร์ที่จะปิดใช้งานหรือไม่ the stream โดยการรีเซ็ต the EN bit ใน the DMA_SxCR register. นี้เนื่องจากไม่มีการสูญหายของ data เมื่อเกิดข้อผิดพลาดชนิดนี้.
เมื่อ the stream's error interrupt flag (TEIF, FEIF, DMEIF) ใน the DMA_LISR or DMA_HISR register ถูกเซ็ต, an interrupt จะถูกสร้างถ้า the corresponding interrupt enable bit (TEIE, FEIE, DMIE) ใน the DMA_SxCR หรือ DMA_SxFCR register ถูกเซ็ต.
Note: เมื่อ a FIFO overrun or underrun condition เกิดขึ้น, the data จะไม่สูญหายเนื่องจาก the peripheral request ไม่ถูก
acknowledged โดย the stream จนกว่า the overrun or underrun condition จะถูกเคลียร์. ถ้า acknowledge นี้ใช้เวลา
มากเกินไป, the peripheral ตัวมันเองอาจตรวจพบ an overrun or underrun condition ของ internal buffer ของมันและ
data อาจสูญหาย.