查看: 2444|回复: 3

[原创] [IRD-LPC1768-DEV] 篇四 CAN通讯

[复制链接]
  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    91

    主题

    2931

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    7818
    最后登录
    2024-4-30
    发表于 2019-3-4 18:12:30 | 显示全部楼层 |阅读模式
          作为总线,CAN在项目中使用频率越来越高,在选型的时候也是必选的一款外设。LPC1768有两个CAN,如果没有其他通讯板或CAN总线分析工具,可以使用两个CAN,完成自测模式。这篇只是完成标准帧数据的发送与接收,深入的问题在实践中再深入了解。关于CAN的说明,官网上的问题分析及使用手册中说的挺清楚的,不再啰嗦。只述说本人在测试过程中遇到的问题及解决。    要说测试其实也不复杂,使用CAN总线分析工具,就能测试通讯了。但是花了很多天解决。碰到的主要问题就是,各种配置都没问题,下载到板卡中无法发送和接收。检查了n遍配置,按照对该芯片的理解,也修改了n遍配置,各种怀疑和测试,分析来分析去,就是无法通讯。如果遇到这种情况,只有一个办法那就是休息,玩够了再琢磨。我使用的是库函数,想来是不是库函数有问题呢?今日更换了c库文件,测试软件界面出现了数据,然后修改接收,能完成简单的发送和接收了。网上有人说大量数据发送时会出现数据混乱,尚待测试。

       使用的CAN1,接线如图1和图2所示。

      发送及接收主要配置:
    1. PINSEL_CFG_Type PinCfg;//pin配置
    2. PinCfg.Funcnum = 1;
    3.          PinCfg.OpenDrain = 0;
    4.          PinCfg.Pinmode = 0;
    5.         PinCfg.Pinnum = 0;
    6.          PinCfg.Portnum = 0;
    7.          PINSEL_ConfigPin(&PinCfg);
    8.          PinCfg.Pinnum = 1;
    9.          PINSEL_ConfigPin(&PinCfg);
    10. //Initialize CAN1
    11.          CAN_Init(LPC_CAN1, 125000);
    12. CAN_IRQCmd(LPC_CAN1, CANINT_RIE, ENABLE);

    13.          //Enable CAN Interrupt
    14.          NVIC_EnableIRQ(CAN_IRQn);
    15.          CAN_SetAFMode(LPC_CANAF, CAN_Normal);
    16. //CAN_SetAFMode(LPC_CANAF, CAN_Normal);
    17. result = CAN_SetupAFTable();
    18. CAN_InitAFMessage();
    19. CAN_SendMsg(LPC_CAN1, &AFTxMsg[0]);
    20. //发送
    21. CAN_SendMsg(LPC_CAN1, &AFTxMsg[0]);
    22. //j接收中断
    23. IntStatus =CAN_IntGetStatus(LPC_CAN1);
    24.          //check receive interrupt
    25.          if((IntStatus>>0)&0x01)
    26.          {
    27.                  CAN_ReceiveMsg(LPC_CAN1, &AFRxMsg[0]);
    28. }
    复制代码



      CAN总线测试界面及keil中接收数据如图3和图4:

    原理图

    原理图

    连接线

    连接线

    keil仿真中接收

    keil仿真中接收

    测试界面接收发送

    测试界面接收发送
    加油哦
    回复

    使用道具 举报

  • TA的每日心情
    开心
    前天 15:27
  • 签到天数: 1336 天

    [LV.10]以坛为家III

    88

    主题

    4293

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9054
    最后登录
    2024-5-2
    发表于 2019-3-4 19:26:07 | 显示全部楼层
    羡慕楼主可以玩CAN通讯啊
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    [LV.1]初来乍到

    91

    主题

    2931

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    7818
    最后登录
    2024-4-30
     楼主| 发表于 2019-3-5 08:34:39 | 显示全部楼层
    jobszheng5 发表于 2019-3-4 19:26
    羡慕楼主可以玩CAN通讯啊

    呵呵,都是使用工具,用的时候自然就得学习了。
    加油哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2021-6-30 17:11
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    5

    主题

    427

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1100
    最后登录
    2024-4-25
    发表于 2019-3-10 14:51:36 | 显示全部楼层
    支持一下
    加油
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2024-5-3 03:54 , Processed in 0.130181 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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