[STM32G0] 关于STM32G030的串口2问题

[复制链接]
871|10
 楼主| powerantone 发表于 2023-12-29 14:55 | 显示全部楼层 |阅读模式
我在用stm32cubemax生成的串口程序,我用按键实现按一次发一次数据,但是在实际过程中,我发现发出的数据产生了错位,我第二次按下发送的是第一次按下发送的数据,第一次按下发送的数据是无效的数据。
如图是主函数的循环按键发送程序,第二按键判断是自己直接对TDR寄存器写数据,发现效果与第一个官方库一样的效果。
这个是生成的串口配置函数,希望大佬能帮忙解决一下问题

暖了夏天蓝了海 发表于 2024-1-21 15:05 | 显示全部楼层
估计是你按键函数方面有点问题吧
别乱了阵脚 发表于 2024-1-21 18:00 | 显示全部楼层
你每次仿真的时候能进入到串口发送的函数么?
三生万物 发表于 2024-1-21 20:00 | 显示全部楼层
正常来说,你读取IO的函数要加个防抖的操作才行
冰春彩落下 发表于 2024-1-21 22:00 | 显示全部楼层
一般来说你串口要是配置的缓冲不对,好像会容易发生,发送数据错误的问题
江河千里 发表于 2024-1-22 01:00 | 显示全部楼层
看操作流程应该没啥问题啊
淡漠安然 发表于 2024-1-22 01:00 | 显示全部楼层
你第一次发送的内容是啥?是乱码么?还是啥也没有?
光辉梦境 发表于 2024-1-22 03:00 | 显示全部楼层
我怀疑是误触发了按键读取函数?我猜是这样
远山寻你 发表于 2024-1-22 07:00 | 显示全部楼层
你加个delay试试,在重新读一下IO,就应该稳定了
夜阑风雨 发表于 2024-1-22 11:00 | 显示全部楼层
直接找个官方的例程,抄一下如何串口发送呗,我觉得应该不难吧
一秒落纱 发表于 2024-1-22 15:00 | 显示全部楼层
直接寄存器和你调用串口发送来说应该是一个效果
您需要登录后才可以回帖 登录 | 注册

本版积分规则

679

主题

4012

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部