我在一个函数中尝试过这一点,但是在MPLAB中看不到任何结果。为什么?我在哪里能找到打印结果?我使用的是pic32好奇开发板和XC32。
int a = 5;
int b = 10;
printf("a = %d\nb = %d\n", a, b);
有什么消息吗?提前感谢!
发布于 2018-06-21 05:51:29
printf
总是使用UART作为STDOUT。如果使用模拟器,则可以在Properties下启用UART。如果您喜欢在文件或输出窗口中看到打印的数据,请知道这是您的选择。
发布于 2018-06-20 21:47:59
为什么?
因为mplabX IDE无法访问您的硬件。我想您使用的是调试(您还没有编写),那么您的调试(单元?)硬件?软件?)可能不支持它。
我在哪里能找到打印结果?
这取决于您如何编写_mon_putc()函数。例如,By default, MPLAB® XC32's libraries use UART2 for STDOUT.
PIC32MZ EF好奇心开发板 UART2 (信号U2TX)将位于单片机的引脚7上,即J11上的引脚4或J10上的引脚13或连接器J14上的引脚5。最好是买一个便宜的UART<->USB转换器来读取uart。
有什么消息吗?
好的。
(XC32)如何指示printf输出到UART1或其他UART通道,而不是UART2?
调试:我可以将printf或putchar重定向到MPLAB控制台吗?
mplab模拟器使用uart1作为标准输出,模拟器将模拟的“读取器”连接到该uart,这显示了它在mplab控制台上的输出。我想,你真正的硬件上的uart根本没有连接到计算机上。
https://stackoverflow.com/questions/50957089
复制相似问题