搜索
查看: 1261|回复: 7

[已解决] f103zeCAN 中断正常执行一段时间后不能退出

[复制链接]

该用户从未签到

21

主题

352

帖子

36

蝴蝶豆

金牌会员

最后登录
2020-3-30
发表于 2017-10-25 11:55:10 | 显示全部楼层 |阅读模式
大家好,请问憋人调试CAN通信,利用can接收差不多同时发送的两路can信息,周期为20ms,即同一个设备每20ms发送一次信息,有两个这样的设备。程序运行一短时间后始终在中断函数内循环不能退出进入主程序,求高手
  1. void USB_LP_CAN1_RX0_IRQHandler(void)
  2. {
  3.         OSIntEnter();
  4.         if(CAN_GetITStatus(CAN1,CAN_IT_FMP0))
  5.         {
  6.                 CAN_ClearITPendingBit(CAN1,CAN_IT_FMP0);
  7.                 CAN_Receive(CAN1, CAN_FIFO0, &RxMessage);
  8.                 OSSemPost(CANCMDSem);
  9.         }

  10.         OSIntExit();
  11. }
复制代码

指点,谢谢。
回复

使用道具 举报

该用户从未签到

15

主题

231

帖子

3

蝴蝶豆

金牌会员

最后登录
2021-5-21
发表于 2017-11-9 09:14:54 | 显示全部楼层
这个是不是频繁进中断 还是没有退出去,排查一下!

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

39

主题

975

帖子

45

蝴蝶豆

论坛元老

最后登录
2021-3-21
发表于 2017-11-9 09:21:07 | 显示全部楼层
67行换个位置试试?

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

137

帖子

2

蝴蝶豆

金牌会员

最后登录
2020-2-20
发表于 2017-11-9 11:24:55 | 显示全部楼层
        if(fifox==0)
                CAN->RF0R|=0X20;//释放FIFO0邮箱         

仅供参考

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

137

帖子

2

蝴蝶豆

金牌会员

最后登录
2020-2-20
发表于 2017-11-9 11:25:42 | 显示全部楼层
怎么知道不能推出的
回复 支持 反对

使用道具 举报

该用户从未签到

19

主题

1734

帖子

7

蝴蝶豆

论坛元老

最后登录
2021-5-10
发表于 2017-11-9 11:25:53 | 显示全部楼层
同意三楼的,先试下
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

2189

帖子

397

蝴蝶豆

论坛元老

最后登录
2021-12-8
发表于 2017-11-9 12:46:36 | 显示全部楼层
可能是两路数据同时到达,导致出错。
看看相差函数有没有使用 while 作死循环判断的,
如果有,建议为其增加超时退出功能。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

352

帖子

36

蝴蝶豆

金牌会员

最后登录
2020-3-30
 楼主| 发表于 2017-11-9 13:48:53 | 显示全部楼层
邮箱不用释放,看函数的接收函数内有释放操作;
由于使用了ucosII操作系统,在终端中处理消息并发送同步信号操作,后改为事件标志组可以正常运行,因此应该与任务的调度方式有关,后面进一步分析,谢谢各位!
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-29 08:28 , Processed in 1.205949 second(s), 42 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表