查看: 4143|回复: 7

[CodeWarrior] KEAZ128 CodeWarrior库 SCAN驱动的问题

[复制链接]

该用户从未签到

2

主题

11

帖子

0

注册会员

Rank: 2

积分
72
最后登录
2020-3-20
发表于 2017-4-28 11:43:48 | 显示全部楼层 |阅读模式
各位大大,版主,在应用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库的调用几个函数里,都差不多有几个地方要进行类似的操作,这样会影响整个系统的运行效率呀,为什么没人提过这个问题吗? 这要的设计应用在实时系统根本不能用的吧?

最佳答案

如果是实时系统,也要看你处理的任务情况,如果这块任务需要不被打断,也是可以做全局中断的关闭的。 驱动只是给你一个参考,如果你不想关闭,也可以去掉相关关闭中断代码。 ...
回复

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24875
最后登录
2025-7-18
发表于 2017-4-28 13:49:14 | 显示全部楼层
如果是实时系统,也要看你处理的任务情况,如果这块任务需要不被打断,也是可以做全局中断的关闭的。
驱动只是给你一个参考,如果你不想关闭,也可以去掉相关关闭中断代码。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

11

帖子

0

注册会员

Rank: 2

积分
72
最后登录
2020-3-20
 楼主| 发表于 2017-4-28 14:32:22 | 显示全部楼层
小恩GG 发表于 2017-4-28 13:49
如果是实时系统,也要看你处理的任务情况,如果这块任务需要不被打断,也是可以做全局中断的关闭的。
驱动 ...

先改动一下试试,不知道其它的飞思卡尔KEA128用户,是不是也这样处理的。
感谢小恩GG的回复!
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24875
最后登录
2025-7-18
发表于 2017-4-28 15:50:47 | 显示全部楼层
wkei007 发表于 2017-4-28 14:32
先改动一下试试,不知道其它的飞思卡尔KEA128用户,是不是也这样处理的。
感谢小恩GG的回复! ...

其实不要说这个MSCAN,就是其他的中断,比如简单的IO中断,都有代码在进入中断后关闭中断,然后处理好中断服务程序之后,再开启中断的。
这么做,就是不希望这段中断代码被其他中断打断。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

11

帖子

0

注册会员

Rank: 2

积分
72
最后登录
2020-3-20
 楼主| 发表于 2017-4-28 16:36:06 | 显示全部楼层
小恩GG 发表于 2017-4-28 15:50
其实不要说这个MSCAN,就是其他的中断,比如简单的IO中断,都有代码在进入中断后关闭中断,然后处理好中 ...

小恩GG,方便留个邮箱吗?有问题请教下,或者你在哪个群,方便的话加一下?
回复 支持 反对

使用道具 举报

该用户从未签到

712

主题

6371

帖子

0

超级版主

Rank: 8Rank: 8

积分
24875
最后登录
2025-7-18
发表于 2017-5-2 15:43:28 | 显示全部楼层
wkei007 发表于 2017-4-28 16:36
小恩GG,方便留个邮箱吗?有问题请教下,或者你在哪个群,方便的话加一下?  ...

有问题,发这个论坛就好
回复 支持 反对

使用道具 举报

  • TA的每日心情
    开心
    2020-8-14 22:47
  • 签到天数: 608 天

    连续签到: 1 天

    [LV.9]以坛为家II

    26

    主题

    1169

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3009
    最后登录
    2020-9-13
    发表于 2017-5-11 21:53:39 | 显示全部楼层
    小恩GG 发表于 2017-5-2 15:43
    有问题,发这个论坛就好

    大神!请问在开发KEA系列 的时候使用官方库好呢还是用PE直接配置好呢?

    好像官方库有写BUG。历程写的有些简短!注释有些不到位啊!

    用PE感觉无法个性化配置。但是开发速度快!
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24875
    最后登录
    2025-7-18
    发表于 2017-5-12 10:52:14 | 显示全部楼层
    小刀十六式 发表于 2017-5-11 21:53
    大神!请问在开发KEA系列 的时候使用官方库好呢还是用PE直接配置好呢?

    好像官方库有写BUG。历程写的有 ...

    这个有点智者见智仁者见仁的,但建议可以从库文件开始,方便自己慢慢深入
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 08:46 , Processed in 0.112375 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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