2909|2

775

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

串口中断里等待串口中断,傻了 [复制链接]

       今天在调试程序的时候,发现自己傻的要命了。昨天早上开始到今天下午,一直在调试STM32的一个函数,函数很简单,就是两个板子通过串口通信,我用一起来捕捉信号,发现信号跟协议是一直的,而且很理想,但就是一直是错误,当然,错误是板子在通信的时候,内部协议层认为出错了。
       首先先说说工作方式,就是板子A和板子B通过串口通信,现在要做的事情就是板子A发出命令要读取板子B上的程序,板子B接到板子A的命令后,一直保留在中断函数内,并把板子A要求的程序分开N部分发送给板子A,然后板子A接到板子B发来的数据后,会给板子B发回去应答,板子B接到板子A的应答后认为上一次的发送成功,然后再继续发送下一个程序部分,一直往下发展。想着这个流程好像很流畅,而且用仪器捕捉到的数据都是有发送有应答,唯一不对的就是板子B接到板子A的应答后没有认为是对的,还把数据在发一次(但我发现这个问题后,觉得板子B其实没有收到板子A的应答,只是板子A有发出应答而已)。
        其实想想问题所在,板子B在发数据的时候其实还在串口的中断函数内,然后如果要接收板子A的应答,还是会触发中断函数,但问题在于这个中断还没有退出,是否可以再来一个中断呢?据说中断的标志在读取了串口的数值后会自动清除,如果是这样,感觉又好似可以来接收数据。但想想,中断应该不可以自己打断自己,自己嵌套自己。想想,调了一天程序,自己竟然犯了这么傻的错误,晕。
此帖出自stm32/stm8论坛

最新回复

当局者迷,常用的事  详情 回复 发表于 2016-8-30 20:06
点赞 关注
 

回复
举报

1658

帖子

1

TA的资源

纯净的硅(高级)

沙发
 
哈哈,楼主是当局者迷啊!没思路或者没办法的时候暂时放下,出去转转,喝杯水。。。稍微休息一下说不定就有想法了
此帖出自stm32/stm8论坛
 
 

回复

63

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
当局者迷,常用的事
此帖出自stm32/stm8论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表