14.3.5 QUADSPI indirect mode
เมื่ออยู่ใน indirect mode, commands ถูกสตาร์ทโดยการเขียนไปยัง QUADSPI registers และ data ถูกส่งถ่ายโดยการเขียนหรือการอ่าน the data register, ในลักษณะเดียวกับสำหรับ communication peripherals อื่นๆ.
เมื่อ FMODE = 00 (QUADSPI_CCR[27:26]), the QUADSPI จะอยู่ใน indirect write mode, โดยที่ bytes จะถูกส่งไปยัง the Flash memory ในระหว่าง the data phase. Data ถูกจัดให้มีโดยการเขียนไปยัง the data register (QUADSPI_DR).
เมื่อ FMODE = 01, the QUADSPI จะอยู่ใน indirect read mode, โดยที่ bytes จะถูกรับจาก the Flash memory ในระหว่าง the data phase. Data จะถูกกู้โดยการอ่าน QUADSPI_DR.
จำนวนของ bytes ที่จะถูกอ่าน/เขียนถูกระบุใน the data length register (QUADSPI_DLR). ถ้า QUADSPI_DLR = 0xFFFF_FFFF (ทั้งหมดเป็น 1’s), ดังนั้น the data length จะถูกพิจารณาว่าไม่ได้กำหนดและ the QUADSPI จะต่อเนื่องส่งถ่าย data ไปจนกว่า the end of Flash memory (ตามที่กำหนดโดย FSIZE) ถูกถึง. ถ้าไม่มี bytes ที่จะถูกส่งถ่าย, DMODE (QUADSPI_CCR[25:24]) ควรถูกเซ็ตเป็น 00.
ถ้า QUADSPI_DLR = 0xFFFF_FFFF and FSIZE = 0x1F (ค่าสูงสุดที่ระบุ a 4GB Flash memory), ดังนั้นในกรณีพิเศษนี้ the transfers จะต่อเนื่องไปอย่างไม่จำกัด, จะหยุดเฉพาะหลังจาก an abort request หรือหลังจาก the QUADSPI ถูกปิดใช้งาน. หลังจาก the last memory address ถูกอ่าน (ที่ address 0xFFFF_FFFF), การอ่านจะต่อเนื่องด้วย address = 0x0000_0000.
เมื่อจำนวนที่โปรแกรมของ bytes ที่จะถูกส่งหรือรับถูกถึง, TCF จะถูกเซ็ตและ an interrupt จะถูกสร้างถ้า TCIE = 1. ในกรณีที่ไม่ได้กำหนดจำนวนของ data, the TCF จะถูกเซ็ตเมื่อขีดจำกัดของ the external SPI memory ถูกถึงตาม the Flash memory size ที่กำหนดใน the QUADSPI_CR.