关于CANOPEN 案例: 22-FreeRTOS-STC32G-CANOpen
关于提供的案例包: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监控设备对总线进行监控发现:当两个屠龙刀通电时,在总线上,一直存在主站发出的心跳包:0x000007008 7F 00 00 00 00 00 00 00 ,但是为什么没有从站的心跳包呢?
当只有从站屠龙刀通电时,总线上监控到了从站发出的心跳包:0x0000070F8 7F 00 00 00 00 00 00 00
2)是否能够提供能够编辑该CANOPEN 协议EDS文件的相关工具和使用说明。
我看了一下,例程应该移植的是canfestival,网上找一下有对应的对象字典编辑软件的。 遇到同样的问题。 网上搜索的关于canfestival中对象字典编辑器的安装与使用步骤,不知道是否有帮助...
页:
[1]