[STM32F1] 串口复位后,多接收一个字节。

[复制链接]
2240|17
 楼主| 沉默胜过白金 发表于 2014-8-23 17:28 | 显示全部楼层 |阅读模式

在使用串口的时候,复位后,若果不加 第36行,则会出现丢失一个字节的情况,所以要先清除一下 TC 位,但是在 加上 36行后,也就是清除TC位后,则又出现了新的问题,会在第一个字节之前 多一个 0xff 字节,这个问题有没有遇到过的?怎么解决? 1.bmp
2.bmp
 楼主| 沉默胜过白金 发表于 2014-8-24 23:40 | 显示全部楼层
没有遇到的么,再顶一下。
STARM 发表于 2014-8-25 07:43 | 显示全部楼层
37 和 38 行交换一下看看
 楼主| 沉默胜过白金 发表于 2014-8-30 18:50 | 显示全部楼层
STARM 发表于 2014-8-25 07:43
37 和 38 行交换一下看看

还是不行。
STARM 发表于 2014-8-30 20:33 | 显示全部楼层
注释36行, 交换37 和 38 行
STM32初学者 发表于 2014-8-30 20:35 | 显示全部楼层
我觉得是你本来就多发了一个
 楼主| 沉默胜过白金 发表于 2014-8-31 15:16 | 显示全部楼层
STM32初学者 发表于 2014-8-30 20:35
我觉得是你本来就多发了一个

怎么说?哪个多发了?
myxiaonia 发表于 2014-8-31 17:56 来自手机 | 显示全部楼层
st的串口开启时会有个空闲帧,请看手册
 楼主| 沉默胜过白金 发表于 2014-8-31 21:10 | 显示全部楼层
myxiaonia 发表于 2014-8-31 17:56
st的串口开启时会有个空闲帧,请看手册

我看了,上电复位后,SR寄存器默认不是0x00000000,我在程序的第三十六行,也就是发送数据前清了一下,还是不行。能不能说一下,谢谢。
myxiaonia 发表于 2014-9-1 00:59 | 显示全部楼层
沉默胜过白金 发表于 2014-8-31 21:10
我看了,上电复位后,SR寄存器默认不是0x00000000,我在程序的第三十六行,也就是发送数据前清了一下,还 ...

我只知道手册说有个空闲帧
ghost2 发表于 2014-9-1 07:21 来自手机 | 显示全部楼层
接收端上拉了么?
pattywu 发表于 2014-9-1 08:11 | 显示全部楼层
8楼的说法是正确的。
只要使能发送,st的串口开启时,就会发送一个空闲帧。
悲伤流逝 发表于 2014-9-1 13:27 | 显示全部楼层
楼上正解
戈卫东 发表于 2014-9-1 14:42 | 显示全部楼层
TXE信号用起来更简单。试试?
 楼主| 沉默胜过白金 发表于 2014-9-11 15:28 | 显示全部楼层
pattywu 发表于 2014-9-1 08:11
8楼的说法是正确的。
只要使能发送,st的串口开启时,就会发送一个空闲帧。 ...

有什么办法不让它发送空闲帧么?
 楼主| 沉默胜过白金 发表于 2014-9-11 15:29 | 显示全部楼层
悲伤流逝 发表于 2014-9-1 13:27
楼上正解

有什么方法解决这个问题么?
 楼主| 沉默胜过白金 发表于 2014-9-11 15:30 | 显示全部楼层
戈卫东 发表于 2014-9-1 14:42
TXE信号用起来更简单。试试?

TXE ??? 没看懂,,,
戈卫东 发表于 2014-9-11 15:50 | 显示全部楼层
沉默胜过白金 发表于 2014-9-11 15:30
TXE ??? 没看懂,,,

STM32有TC和TXE两个信号指示发送完成,一般来说用TXE要简单一些。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:个人主页:http://bluemickeycat.top

26

主题

313

帖子

2

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