最近在使用GD32的开发板GD32F470V-START,芯片是GD32F470VKT6,因为板子上没有串口的资源,然后实验要用到串口,所以就自己写程序和焊排针去测试串口。写完串口程序后(网上很多),通过串口0的PA9和PA10引脚进行USB转TTL连接,发现电脑上收不到或者是收到乱码,一直以为是自己程序出问题,一直在排查程序,最后把目光移向硬件,发现是PA9管脚已经被用作VBUS端口,并且接了板子上的一个三极管输出端口,上电自带1.28V电压(万用表测的)。
后来查看datasheet,发现PB6和PB7也是USART0的两个引脚,于是调用了PB6和PB7,这样子就避免了PA9被复用的冲突,实测可用。
经验总结:调试别人的板子,不能只去在意程序怎么写,还要多观察硬件的连接。