请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册
查看: 1129|回复: 3

关于CANOPEN 案例: 22-FreeRTOS-STC32G-CANOpen

[复制链接]

该用户从未签到

4

主题

3

回帖

42

积分

新手上路

积分
42
发表于 2023-2-4 12:11:55 | 显示全部楼层 |阅读模式
关于提供的案例包:22-FreeRTOS-STC32G-CANOpen的相关问题:

1、在ObjDict.h 文档中以下定义的含义: 其中第一个 Read_Inputs_8_Bit[] 是TPDO0的映射单元,但是后面Polarity_Input_8_Bit[] 、Filter_Constant_Input_8_Bit[]、Global_Interrupt_Enable_Digital、Interrupt_Mask_Low_to_High_8_Bit[]等几个是什么意义呢?

/**************************************************************************/
/* Declaration of mapped variables                                        */
/**************************************************************************/
UNS8 xdata Read_Inputs_8_Bit[] =                /* Mapped at index 0x6000, subindex 0x01 - 0x01 */
  {
    0x0        /* 0 */
  };
UNS8 xdata Polarity_Input_8_Bit[] =                /* Mapped at index 0x6002, subindex 0x01 - 0x01 */
  {
    0x0        /* 0 */
  };
UNS8 xdata Filter_Constant_Input_8_Bit[] =                /* Mapped at index 0x6003, subindex 0x01 - 0x01 */
  {
    0x0        /* 0 */
  };
UNS8 xdata Global_Interrupt_Enable_Digital = 0x1;                /* Mapped at index 0x6005, subindex 0x00 */
UNS8 xdata Interrupt_Mask_Any_Change_8_Bit[] =                /* Mapped at index 0x6006, subindex 0x01 - 0x01 */
  {
    0xFF        /* 255 */
  };
UNS8 xdata Interrupt_Mask_Low_to_High_8_Bit[] =                /* Mapped at index 0x6007, subindex 0x01 - 0x01 */
  {
    0x0        /* 0 */
  };
UNS8 xdata Interrupt_Mask_High_to_Low_8_Bit[] =                /* Mapped at index 0x6008, subindex 0x01 - 0x01 */
  {
    0x0        /* 0 */
  };


2、我使用了两片屠龙刀,第一片用CAN1作为CANOPEN 主站,第二片用CAN2作为CANOPEN的从站,每片屠龙刀上断开了CAN1/2的短接电阻,并对例程22的程序做了以下修改
1)CANOPEN 主站:只使用了CAN1主站程序, 屏蔽了IO程序和CAN2接收程序

    xTaskCreate((TaskFunction_t )vCan1Task,
                (const char*    )"TX_CAN",
                (uint16_t       )configDEFAULT_STACK_SIZE,
                (void*          )NULL,
                (UBaseType_t    )(configDEFAULT_PRIORITIES + 1),
                (TaskHandle_t*  )NULL);

2)CANOPEN 从站:只使用了CAN2从站程序, 屏蔽了IO程序和CAN1发送程序

   xTaskCreate((TaskFunction_t )vCan2Task,
                (const char*    )"RX_CAN",
                (uint16_t       )configDEFAULT_STACK_SIZE,
                (void*          )NULL,
                (UBaseType_t    )(configDEFAULT_PRIORITIES + 1),
                (TaskHandle_t*  )NULL);

目前能够实现主从通信,单有以下不理解:
1)使用CAN监控设备对总线进行监控发现:当两个屠龙刀通电时,在总线上,一直存在主站发出的心跳包:0x00000700  8   7F 00 00 00 00 00 00 00 ,但是为什么没有从站的心跳包呢?  
                                                               当只有从站屠龙刀通电时,总线上监控到了从站发出的心跳包:0x0000070F  8   7F 00 00 00 00 00 00 00  
2)  是否能够提供能够编辑该CANOPEN 协议EDS文件的相关工具和使用说明。







回复 送花

使用道具 举报

该用户从未签到

2

主题

8

回帖

32

积分

新手上路

积分
32
发表于 2023-3-17 21:39:44 | 显示全部楼层
我看了一下,例程应该移植的是canfestival,网上找一下有对应的对象字典编辑软件的。

该用户从未签到

0

主题

1

回帖

6

积分

新手上路

积分
6
发表于 2023-4-19 22:39:28 | 显示全部楼层
遇到同样的问题。
回复 支持 反对 送花

使用道具 举报

该用户从未签到

16

主题

149

回帖

1295

积分

版主

积分
1295
发表于 2023-4-20 10:33:07 | 显示全部楼层
网上搜索的  关于  canfestival中对象字典编辑器的安装与使用  步骤,不知道是否有帮助...
1.png

2.png

3.png

4.png


QQ:3398500488
微信号:18106296592(小刘)
回复 支持 反对 送花

使用道具 举报

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2024-3-29 03:02 , Processed in 0.060279 second(s), 43 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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