CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送

文章目录

  • 一、前言
  • 二、实验目的
  • 三、对象字典OD
  • 四、TPDO1定时发送tx_Value变量

一、前言


该笔记的程序: github
在这里插入图片描述
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第1张图片
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第2张图片

二、实验目的


CANopen从站有一个变量tx_Value,映射到TPDO1上。接着,CANopen从站每1S发送一次TPDO1,将tx_Value发送出去。

三、对象字典OD


CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第3张图片
跟上一章节《CANopen | 对象字典OD 05 - 创建对象字典变量,映射到RPDO》一样,还是在0x2000~0x5FFF里创建变量tx_Value。
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第4张图片
选择0x1A00~0x1BFF,然后在0x1A00 TPDO1映射上刚才创建的变量tx_Value。
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第5张图片
选择0x1800~0x19FF,然后0x1800 TPDO1参数,将Transmission Type改为0xFF,Event Timer改为1000(十六进制0x03E8)。
Event Timer与Transmission Type的含义,请看下图:

CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第6张图片

经过测试,Transmission Type设置0xFE与0xFF的效果一样。

四、TPDO1定时发送tx_Value变量


还是老规矩,先让CANopen从站从预操作模式换到操作模式下。
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第7张图片
接着,就能看到TPDO1的报文了。
CANopen | 对象字典OD 06 - 创建对象字典变量,通过TPDO定时发送_第8张图片
从上图看到,tx_Value通过TPDO1定时发送出来,时间间隔是1秒。

你可能感兴趣的:(CAN总线,STM32,stm32,canopen)