stm32开机时,在eeprom读取存储的内容,然后用串口发送给DGUS屏的变量地址进行显示数据,但是第一个数据显示是0,而且之前发送接收数据时串口通信都不存在问题。通过测试eeprom读数据是成功的,但是为什么DGUS屏显示的第一个数据会失败呢?
第一点,有可能是变量地址写错了,
第二点, 有可能是串口传输的问题,
第一点,有可能是变量地址写错了,
第二点, 有可能是串口传输的问题,
博客讲述了在STM32开发中遇到的一个问题,即开机时从EEPROM读取的数据通过串口发送到DGUS屏显示时,首个数据显示为0。排查过程中考虑了变量地址错误、串口通信和DGUS屏接收速度等问题。最终发现问题是由于串口发送函数中对TC位的判断不严谨,导致第一个数据被覆盖。解决方案是修改发送函数,判断TXE位而非TC位,从而确保数据正确发送。

被折叠的 条评论
为什么被折叠?