请注意,此行为仅在 JTAG UART 或 UART 中断驱动(默认)时才会发生。 使用驱动程序的调查版本时,驱动程序会等待 JTAG UART 或 UART 硬件的发送和接收字符。 在执行下一个处理器指令之前,将打印整个 printf 消息。 请参阅 Quartus® II 手册,第 5 卷:Altera嵌入式外设 ,了解 JTAG UART 和 UART 外设的快速(中断驱动)与小型(已咨询)驱动程序的信息。
环境
英特尔® Nios® II 处理器
BUILT IN - ARTICLE INTRO SECOND COMPONENT
说明
当 printf 声明在程序终止之前立即被终止时,JTAG UART 和 UART 驱动程序的输出缓冲区可能无法完全传输。因此, 如果您的程序的最后一项声明是 printf, 您可能无法观察 printf 声明的整个消息。为了确保打印整个消息,在 printf() 声明后放入一个 usleep() 声明,以允许将 JTAG UART 或 UART 驱动程序输出缓冲区完全传输到 JTAG UART 或 UART 硬件。 添加"usleep(200000);"(等待 200000 我们)通常足够了。