[STM8]

串口接收启动了外部中断服务程序

[复制链接]
856|16
手机看帖
扫描二维码
随时随地手机跟帖
大漠孤烟|  楼主 | 2021-11-3 09:24 | 显示全部楼层 |阅读模式
刚接触STM8L不久,现在在使用STM8L152K4C6做个小东西,读取传感器的值,显示到段码LCD上,这部分运行正常。现在想通过串口将数据发送出来,通用串口配置【USART1(PC5,PC6),9600,1,8,1,N】,发送未启用中断,接收启用中断。单片机发送数据出来正常。但当外面给单片机发数据的时候,触发了外部中断6的服务程序。配置程序如附件。
请各位帮忙看看,问题出在哪里?
谢谢!
IR.jpg

使用特权

评论回复
大漠孤烟|  楼主 | 2021-11-4 09:15 | 显示全部楼层
昨晚试了一下,在外部中断服务程序中,执行关闭EXTI6的标志位,这样EXTI6中断服务会执行两次,然后发生串口接收中断服务。
为什么?这是什么特性?如何处理呢?

使用特权

评论回复
大漠孤烟|  楼主 | 2021-11-11 01:16 | 显示全部楼层
大家帮忙看看,PC5,PC6已经REMAP到USART1,为什么串口接收数据之前还要响应外部中断,让我百思不得其解,该如何处理呢?
ERROR.JPG

使用特权

评论回复
大漠孤烟|  楼主 | 2021-11-11 01:20 | 显示全部楼层
请高手指教,外部发送数据至串口,为什么会产生外部中断,才产生串口中断,如图

通信触发外部中断

通信触发外部中断

使用特权

评论回复
八层楼| | 2021-12-1 12:12 | 显示全部楼层
应该就是代码的问题

使用特权

评论回复
观海| | 2021-12-1 12:14 | 显示全部楼层
没看懂截图啊

使用特权

评论回复
guanjiaer| | 2021-12-1 12:16 | 显示全部楼层
是不是有串扰了啊

使用特权

评论回复
tpgf| | 2021-12-1 13:10 | 显示全部楼层
外部中断服务程序是不是有启动条件的啊

使用特权

评论回复
heimaojingzhang| | 2021-12-1 13:12 | 显示全部楼层
是不是引脚那边发生抖动了啊

使用特权

评论回复
keaibukelian| | 2021-12-1 13:12 | 显示全部楼层
楼主找到原因了吗

使用特权

评论回复
大漠孤烟|  楼主 | 2021-12-21 09:06 | 显示全部楼层
关闭下面一行代码就好了
//USART_ITCONFIG(USART1, USART_IT_OR, ENABLE);

使用特权

评论回复
zyj213| | 2021-12-31 15:21 | 显示全部楼层
可能是你的优先级配置问题吧

使用特权

评论回复
shjuturt| | 2021-12-31 16:03 | 显示全部楼层
我觉得你要好好配置一下你的优先级问题,不然容易出现这个问题的

使用特权

评论回复
ksjdisa| | 2021-12-31 16:32 | 显示全部楼层
通过仿真器仿真看看呗,这样能好一些

使用特权

评论回复
ppaakala| | 2021-12-31 16:32 | 显示全部楼层
中断接收优先级调高一些试试呢

使用特权

评论回复
shskaoanc| | 2021-12-31 17:00 | 显示全部楼层
STM8属实费劲,还得用IAR

使用特权

评论回复
大漠孤烟|  楼主 | 2022-4-1 14:35 | 显示全部楼层
已经处理好了,程序中多了外部中断导致,关闭即好

使用特权

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

本版积分规则

个人签名:风劲角弓鸣,将军猎渭城。 草枯鹰眼疾,雪尽马蹄轻。 忽过新丰市,还归细柳营。 回看射雕处,千里暮云平。

77

主题

240

帖子

1

粉丝