打印
[STM8]

STM8L151串口实在搞不定了,求高人指点

[复制链接]
2129|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一个项目,使用STM8L151K4T6单片机,通过异步串口与无线传输的相关模块通讯(AT指令),9600bps,1停止位,无校验,外部12MHz晶振提供时钟。程序未使用ST的库
现在出现的问题是,程序呼叫AT之后,通讯模块返回了正常的应答,但随后,单片机疯狂的进入串口接收中断,根本停不下来。
通过在线调试和USART1_SR寄存器的数据判断,中断主要是由RXNE标志引起,而不是OR标志
中断服务可以退出,且退出后RXNE标志已被清除(在线调试单步运行时看到USART1_SR的RXNE和OR均为0),但退出后很快就会再次进入,间隔不超过半秒,而通过监听串口证实,此时实际上无任何数据输入单片机串口。
目前RX引脚已经使能了内部上拉,但没有作用。
异常发生时,串口发送时正常的,仍可以向外发送数据。
这个问题已经困扰了三天了,老板也在催,实在是搞不定啊,求大神指点,这究竟是咋回事?都有哪些可能?

沙发
mmuuss586| | 2017-10-20 18:00 | 只看该作者
没用过STM8;

看下寄存器,有没有其它中断标志位也置位了,可以把串口中断相关的都清除标志位看看;

使用特权

评论回复
板凳
kingkits| | 2017-10-20 18:00 | 只看该作者
你还是把回送功能打开看看把,说不定有发现,怀疑你有没处理的内容

使用特权

评论回复
地板
way2888| | 2017-10-20 20:14 | 只看该作者
清中断标志只需要先读SR,再读DR即可

使用特权

评论回复
5
husoffer| | 2017-10-25 10:32 | 只看该作者
你接收的数据是不是没有清除,导致一直能读到数据,进入中断

使用特权

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

本版积分规则

2

主题

8

帖子

0

粉丝