无法在mplabX IDE的任何地方看到printf ...为什么?

时间:2018-06-20 21:11:55

标签: c microchip mplab pic32

我在函数中尝试过此操作,但是在MPLAB X IDE中看不到任何结果。为什么?在哪里可以找到打印结果?我正在使用pic32 Curiosity开发板和XC32。

int a = 5;
int b = 10;
printf("a = %d\nb = %d\n", a, b);

有信息吗?预先感谢!

2 个答案:

答案 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根本无法连接到计算机。