Не могу увидеть printf в mplabX IDE где угодно... Почему?

Я попробовал это в функции, но я нигде не вижу результат в MPLAB X IDE. Зачем? Где я могу найти распечатанный результат? Я использую плату разработки Pic32 Curiosity и XC32.

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

Любая информация? Заранее спасибо!

2 ответа

Решение

printf всегда использует UART как STDOUT. Если вы используете симулятор, вы можете включить UART IO в разделе "Свойства проекта". Знайте, что это ваш выбор, если вы хотите видеть свои напечатанные данные в файле или в окне вывода.

Зачем?
Потому что у mplabX IDE нет доступа к вашему оборудованию. Я предполагаю, что вы используете отладку (вы еще не написали), тогда ваша отладка (аппарат? Программное обеспечение?) Может не поддерживать ее.

Где я могу найти распечатанный результат?
Это зависит от того, как вы написали свою функцию _mon_putc(). By default, MPLAB® XC32's libraries use UART2 for STDOUT. Например, для платы PIC32MZ EF CURIOSITY DEVELOPMENT UART2 (сигнал U2TX) будет на контакт 7 на MCU, который будет контакт 4 на J11 или контакт 13 на J10 или контакт 5 на разъеме J14. Лучше всего купить дешевый UART<->USB-конвертер для чтения с этого UART.

Любая информация?
Конечно.
(XC32) Как я могу дать команду printf выводить на UART1 или другие каналы UART вместо UART2?
Отладка: могу ли я перенаправить printf или putchar на консоль MPLAB X?
Пример stdio over uart1
Симулятор mplab использует uart1 в качестве стандартного выхода, и симулятор подключает симулированный "читатель" к тому uart, который показывает его вывод на консоль mplab. Думаю, UART на вашем реальном оборудовании никак не связан с компьютером.

Другие вопросы по тегам