请选择 进入手机版 | 继续访问电脑版
搜索
查看: 395|回复: 2

[求助] 有关MQX4.1can通信连续接收过程中出现的FLEXCAN_NO_MESSAGE

[复制链接]

该用户从未签到

2

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
发表于 2017-6-28 22:38:52 | 显示全部楼层 |阅读模式
所用平台:k64芯片     MQX4.1      
问题描述:采用MQX提供的can通信的example,即采用中断模式接收数据,具体中断服务程序为下面的代码
void MY_FLEXCAN_ISR
(
   /* [IN] FlexCAN base address */
   void   *can_ptr
)
{
   volatile CAN_MemMapPtr        can_reg_ptr;
   volatile uint32_t                               tmp_reg;
   volatile uint32_t                               temp;

   can_reg_ptr = (CAN_MemMapPtr)can_ptr;

   /* get the interrupt flag */
   tmp_reg = (can_reg_ptr->IFLAG1 & CAN_IMASK1_BUFLM_MASK);
   // check Tx/Rx interrupt flag and clear the interrupt
   if(tmp_reg){
      /* clear the interrupt and unlock message buffer */
      /* Start CR# 1751 */
      _lwevent_set(&event, tmp_reg);  
      can_reg_ptr->IFLAG1 |= tmp_reg;
      /* End CR# 1751 */
      temp = can_reg_ptr->TIMER;
   }/* Endif */

   // Clear all other interrupts in ERRSTAT register (Error, Busoff, Wakeup)
   tmp_reg = can_reg_ptr->ESR1;
   if(tmp_reg & FLEXCAN_ALL_INT){
      /* Start CR# 1751 */
      can_reg_ptr->ESR1 |= (tmp_reg & FLEXCAN_ALL_INT);
      /* End CR# 1751 */
   } /* Endif */

   return;
}

在接收任务中就不断的判断相应的事件,如果相应的event为1就要读出相应邮箱中的数据,这在2个can帧在10ms以上的数据接收中是没有问题的!但是在10ms以下且接收大量的数据帧时就会出现丢帧现象!且读邮箱有时会出现0x10205的错误,也就是FLEXCAN_NO_MESSAGE!这个问题一直没有分析出原因了,困惑了好久,希望行家们指点一二!!





我知道答案 目前已有2人回答
回复

使用道具 举报

该用户从未签到

166

主题

3435

帖子

8193

积分

超级版主

Rank: 8Rank: 8

积分
8193
发表于 2017-6-29 14:06:32 | 显示全部楼层
楼主你好!
今天MQX工程师不在,等他来了,我会帮你把这个问题转给他。
所以还请耐心等待下。
当然,如果你问题比较着急,可以去官方的community.nxp.com或者官网技术服务请求提问。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

5

帖子

40

积分

新手上路

Rank: 1

积分
40
 楼主| 发表于 2018-6-19 15:20:24 | 显示全部楼层
can线的的数据过重,k64未能及时处理数据,新来的数据就把原先未处理的数据给覆盖了。但是居然会报FLEXCAN_NO_MESSAGE这个提示信息缺失挺让人费解,看MQX的源代码可以发现,在3~4种情况下,均会报FLEXCAN_NO_MESSAGE,这也说明mqx也存在不严谨的提示信息
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

小黑屋|手机版|Archiver|恩智浦技术社区   

GMT+8, 2018-8-18 03:11 , Processed in 0.071271 second(s), 9 queries , MemCache On.

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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