我正在使用一块SAMD21XPlained Pro
板子Mac (OS Big Sur)
,MPLAB X IDE v6.00 (XC32 compiler)
我目前在尝试通过该printf()
功能在我的终端上显示消息时遇到问题。
我是嵌入式编程的初学者,我尝试遵循有关STDIO 串行通信的教程:https ://www.youtube.com/watch?v=3pwdpYj5s_A&t=397s
根据本教程,我首先尝试只做 aprintf()
但我没有在终端上看到任何东西(我没有尝试scanf()
第一次尝试)。我唯一改变的是我包含了 stdio.h 文件,我用 a 做了第二次测试baud rate 9600
(因为我真的不知道如何定义波特率,我想像那样测试)。
我在几个论坛上读到问题来自XC32
编译器默认使用的事实,UART2
而printf()
必须使用UART1
在终端上显示。一些人建议xc.h
重新定义默认值UART1
( __XC_UART = 1
),但这似乎仅适用于PIC32MX
µC。根据我对XC32
编译器文件的研究,xc.h
文件 forPIC32MX
与for 的文件不同,PIC32/SAM
而仅用于PIC32MX
定义的文件__XC_UART
。
我还尝试将“ Microchip Developer Help ”中针对“ Redirect stdout for Use With printf() ”的建议应用到以下XC32
类别:
https ://microchipdeveloper.com/xc32:redirect-stdout
问题是它似乎也仅适用于PIC32MX
µCs(p32xxxx.h
包含在代码开头的文件仅存PIC32MX
在于XC32
编译器中)。
经过几天的研究,我尝试了不同论坛上提出的许多解决方案,但仍然找不到有效的解决方案,所以我想知道您是否有想法?
谢谢 !