[STM8] STM8L151每次上电USART多发送一个0xff字节

[复制链接]
907|17
 楼主| llljh 发表于 2020-10-11 20:49 | 显示全部楼层 |阅读模式
STM8L151每次上电USART多发送一个0xff字节
stly 发表于 2020-10-11 20:55 | 显示全部楼层

楼主详细说说怎么回事啊,这么说太笼统了
 楼主| llljh 发表于 2020-10-11 20:58 | 显示全部楼层
用IAR写了段串口发送/接收的代码(寄存器版),仅仅通过串口向电脑的串口助手发送“ABCD”四个字母,发现单片机每次上电都会先发送一个0xff的字节
heisexingqisi 发表于 2020-10-11 21:02 | 显示全部楼层
是不是你发送的变量没处理好。
ousj 发表于 2020-10-11 21:04 | 显示全部楼层
网上找资料,查手册
 楼主| llljh 发表于 2020-10-11 21:07 | 显示全部楼层
单步运行,搞了几个小时,最终发现,如果去掉串口的IO口初始化(就是只初始化串口参数,不管IO),每次上电后就不会出现多发送一个字节的情况了
heisexingqisi 发表于 2020-10-11 21:11 | 显示全部楼层
代码发来看看啊。不然怎么知道啥情况。
guoyt 发表于 2020-10-11 21:14 | 显示全部楼层
用示波器看看上电时序
xxrs 发表于 2020-10-11 21:18 | 显示全部楼层
估计只是TXD初始化时拉低了一下,被电脑端识别为一个起始位
taobaofarmer 发表于 2020-10-11 21:22 | 显示全部楼层
本帖最后由 taobaofarmer 于 2020-10-11 21:23 编辑

不是STM8L的串口多发的,而是刚上电的时候,目标串口检测到一个低电平,当成了起始位,然后采样数据,后面数据位都是高电平,所以采样到的数据是0XFF,一个健壮的串口处理程序必须是随时准备有乱数据发过来等待处理的
lium 发表于 2020-10-11 21:22 | 显示全部楼层
你看看那个初始化是具体干了什么事,
houcs 发表于 2020-10-11 21:27 | 显示全部楼层
好像是 初始化的时候 清空一下中断就可以了!
bqyj 发表于 2020-10-11 21:31 | 显示全部楼层
一步一步的排除问题
chenho 发表于 2020-10-11 21:38 | 显示全部楼层
请问是多用了哪个函数了啊
小明的同学 发表于 2020-10-11 21:40 | 显示全部楼层
用寄存器还是库函数啊
supernan 发表于 2020-10-11 21:41 | 显示全部楼层

楼主怎么解决的问题啊
ousj 发表于 2020-10-11 21:46 | 显示全部楼层
感谢 不过我对这个函数 也很感兴趣
 楼主| llljh 发表于 2020-10-11 21:49 | 显示全部楼层

唉,还是没有什么结果,算了,多谢大家啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

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