Не могу увидеть 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 на вашем реальном оборудовании никак не связан с компьютером.