打印
[Kinetis]

KEAZ128 CodeWarrior库 SCAN驱动应用问题

[复制链接]
1000|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wkei007|  楼主 | 2017-4-28 11:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位大大,版主,在应用KEAZ128进行CAN开发,在CodeWarrior7.0的环境下进行CAN应用开发,用官方的库有个大大的疑问,代码如下:
while(1)
    {
        CAN_CheckSendBufferFrame(MSCAN,&sCAN_TxBuff);
          while(CAN_ReadOneFramefromBufferQueue(&sRxFrameInfo))
        {
                        printf("receive a frame data!\r\n");
                        printf("ID is 0x%x!\r\n",sRxFrameInfo.ID_Type);
                        printf("Data length is %d\r\n",sRxFrameInfo.DLR);
                        for(i=0;i<sRxFrameInfo.DLR;i++)
                        {
                                printf("0x%x,",sRxFrameInfo.DSR[i]);
                        }
                        printf("\r\n");
        }
        
        for(u32Delay=0;u32Delay<0xFFFFF;u32Delay++);
        sCANTxItemInfo.u8DataBuff[7]++;
        
        CAN_SendItemToBuffer(MSCAN,&sCANTxItemInfo,&sCAN_TxBuff);
        
    }

在主程序中进行SCAN数据接收检查:CAN_CheckSendBufferFrame(MSCAN,&sCAN_TxBuff);  这个函数里面每次进来,都要进行关闭全局中断,然后再开启全局中断,SCAN库的调用几个函数里,都差不多有几个地方要进行类似的操作,这样会影响整个系统的运行效率呀,为什么没人提过这个问题吗? 这样的设计应用在实时系统根本不能用的吧?

相关帖子

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

本版积分规则

3

主题

82

帖子

3

粉丝