MPLAB X IDE/XC32/SAMD21XPlained Pro/printf() не работает
я использую
SAMD21XPlained Pro
доска на
Mac (OS Big Sur)
с
MPLAB X IDE v6.00 (XC32 compiler)
и в настоящее время у меня возникает проблема при попытке отобразить сообщение на моем терминале с помощью функции.
Я новичок в программировании встраиваемых систем и стараюсь следовать этому руководству о последовательной связи STDIO : https://www.youtube.com/watch?v=3pwdpYj5s_A&t=397s .
Основываясь на этом уроке, я сначала попытался сделать только a, но ничего не увидел на терминале (я не пробовал
scanf()
для этой первой попытки). Единственное, что я изменил, это то, что я включил файл stdio.h и провел второй тест с
baud rate 9600
(потому что я действительно не знаю, как определить скорость передачи данных, и я хотел проверить это).
Я читал на нескольких форумах, что проблема связана с тем, что компилятор по умолчанию использует
UART2
в то время как
printf()
должны использовать для отображения на терминале. Несколько человек предлагают включить, чтобы переопределить значение по умолчанию
UART1
(
__XC_UART = 1
), но, похоже, это работает только для микроконтроллеров. Согласно моим исследованиям в файлах компилятора,
xc.h
файл для отличается от файла для
PIC32/SAM
и только один для определяет
__XC_UART
.
Я также попытался применить то, что предлагается в « Справке разработчика Microchip » для « Перенаправление stdout для использования с printf() » в категории: https://microchipdeveloper.com/xc32:redirect-stdout
Проблема в том, что это также, кажется, только для µCs (
p32xxxx.h
файл, включенный в начало кода, существует только для
PIC32MX
в
XC32
компилятор).
После нескольких дней исследований я перепробовал множество решений, предложенных на разных форумах, но до сих пор не могу найти то, которое работает, поэтому мне интересно, есть ли у вас идея?
Благодарю вас !