打印
[STM8]

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

[复制链接]
616|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 | 只看该作者
是不是你发送的变量没处理好。

使用特权

评论回复
5
ousj| | 2020-10-11 21:04 | 只看该作者
网上找资料,查手册

使用特权

评论回复
6
llljh|  楼主 | 2020-10-11 21:07 | 只看该作者
单步运行,搞了几个小时,最终发现,如果去掉串口的IO口初始化(就是只初始化串口参数,不管IO),每次上电后就不会出现多发送一个字节的情况了

使用特权

评论回复
7
heisexingqisi| | 2020-10-11 21:11 | 只看该作者
代码发来看看啊。不然怎么知道啥情况。

使用特权

评论回复
8
guoyt| | 2020-10-11 21:14 | 只看该作者
用示波器看看上电时序

使用特权

评论回复
9
xxrs| | 2020-10-11 21:18 | 只看该作者
估计只是TXD初始化时拉低了一下,被电脑端识别为一个起始位

使用特权

评论回复
10
taobaofarmer| | 2020-10-11 21:22 | 只看该作者
本帖最后由 taobaofarmer 于 2020-10-11 21:23 编辑

不是STM8L的串口多发的,而是刚上电的时候,目标串口检测到一个低电平,当成了起始位,然后采样数据,后面数据位都是高电平,所以采样到的数据是0XFF,一个健壮的串口处理程序必须是随时准备有乱数据发过来等待处理的

使用特权

评论回复
11
lium| | 2020-10-11 21:22 | 只看该作者
你看看那个初始化是具体干了什么事,

使用特权

评论回复
12
houcs| | 2020-10-11 21:27 | 只看该作者
好像是 初始化的时候 清空一下中断就可以了!

使用特权

评论回复
13
bqyj| | 2020-10-11 21:31 | 只看该作者
一步一步的排除问题

使用特权

评论回复
14
chenho| | 2020-10-11 21:38 | 只看该作者
请问是多用了哪个函数了啊

使用特权

评论回复
15
小明的同学| | 2020-10-11 21:40 | 只看该作者
用寄存器还是库函数啊

使用特权

评论回复
16
supernan| | 2020-10-11 21:41 | 只看该作者

楼主怎么解决的问题啊

使用特权

评论回复
17
ousj| | 2020-10-11 21:46 | 只看该作者
感谢 不过我对这个函数 也很感兴趣

使用特权

评论回复
18
llljh|  楼主 | 2020-10-11 21:49 | 只看该作者

唉,还是没有什么结果,算了,多谢大家啦

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

855

主题

11301

帖子

6

粉丝