文章
Auto answer transmit CAN messages with NTCAN
refer to NTCAN Application Developers Manual document charpter
- 3.12 Object Mode (Transmit), Autoanswer Mode
- 4.2.9 canIoctl(), Tx-Object Mode related I/O controls
example code
autoanswer.c:程序展示如何配置Auto Answer Mode。执行过程中使用canRead()方式循环读取CAN消息,并且根据CAN消息的ID的不同,做出如下响应。
- 如果收到CAN消息ID为0,则退出程序。
- 如果收到CAN消息ID为1,则开启自动应答功能。
- 如果收到CAN消息ID为2,则关闭自动应答功能。
- 如果收到CAN消息ID为3,并且为RTR消息,则自动应答一条CAN消息,ID同样为3,Data为1 byte记录了程序接收到CAN消息的数目。
执行过程
可以使用CANreal工具发送ID为3的RTR消息,参见下面图一。
Send CAN msg with 11-bit ID to:
ID=0: Exit program
ID=1: Switch ON auto answer
ID=2: Switch OFF auto answer
ID=3 + RTR: Get auto answered CAN msg recording
the total number of received CAN msgs.
canRead() returned timeout
canRead() returned timeout
Id of received message :4!
Id of received message :5!
Id of received message :6!
Id of received message :7!
Id of received message :8!
Id of received message :9!
Id of received message :a!
canRead() returned timeout
canRead() returned timeout
Id of received message :2!
Auto answer switched OFF!
Id of received message :1!
Auto answer switched ON!
Id of received message :0!
Exit program!
截图
- 图一
