分享一个自己在开发GD32F207串口时候因为疏忽遇到的一个问题,就是在配置好串口后,通过串口助手检测一下串口的收发,发现串口可以接收但是每次接收后串口助手都会收到一个00(也就是说串口给我发送了一个00),这里认为这个00应该是发送不成功的现象,因为以前遇到过配置不成功,使用部分串口助手工具时候也会接收到00现象,也就是说明发送存在问题(可能是TX引脚配置不对,或者发送未使能,也有可能是发送中断函数有问题)。
后来发现问题是自己的TX引脚配置的模式有问题,我一开始配置为GPIO_MODE_OUT_PP
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10); //错误配置
但是因为串口是复用的,所以应该改用"GPIO_MODE_AF_PP"模式。
gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10); //正确配置
将其修改后就成功实现串口发送。
因此,如果有小伙伴也遇到了这样的问题,也可以查看一下是否配置有问题或者相应的中断或使能为开启,也有可能是中断函数写的有问题。
本人水平有限,上述信息仅供参考,如有错误和不妥之处,请多多指教。
另外创作不易,请勿抄袭,如果有帮助到大家的话希望大家可以点个赞,谢谢~