我在函数中尝试过此操作,但是在MPLAB X IDE中看不到任何结果。为什么?在哪里可以找到打印结果?我正在使用pic32 Curiosity开发板和XC32。
int a = 5;
int b = 10;
printf("a = %d\nb = %d\n", a, b);
有信息吗?预先感谢!
答案 0 :(得分:2)
printf
始终将UART用作STDOUT。
如果使用模拟器,则可以在项目属性下启用UART IO。如果您想在文件或输出窗口中查看打印的数据,请知道这是您的选择。
答案 1 :(得分:0)
为什么?
因为mplabX IDE无法访问您的硬件。我猜您使用调试(尚未编写),然后您的调试(单元?硬件?软件?)可能不支持它。
在哪里可以找到打印结果?
这取决于您如何编写_mon_putc()函数。 By default, MPLAB® XC32's libraries use UART2 for STDOUT.
例如,PIC32MZ EF CURIOSITY DEVELOPMENT BOARD的UART2(信号U2TX)位于MCU的引脚7上,即J11的引脚4或J10的引脚13或连接器J14的引脚5。最好的方法是购买便宜的UART <-> USB转换器以读取该uart。
有任何信息吗?
好的
(XC32) How do I instruct printf to output to UART1 or other UART channels instead of UART2?
Debugging: Can I redirect printf or putchar to the MPLAB X console?
stdio over uart1 example
mplab模拟器使用uart1作为stdout,并且该模拟器将模拟的“阅读器”连接到该uart,以在mplab控制台上显示其输出。我想,您实际硬件上的uart根本无法连接到计算机。