赞
踩
CAN 总线自定义协议使用说明
用C语言实现自己的协议
进入 EV5000 安装目录下builddriver 目录(如图1),这个目录里面的fbserver.c 文件即
协议程序,用户不需要了解CAN 口的细节编程,只需要按照该框架,用C 语言来编写自己
的协议即可。不可随意更改该文件中的函数名及头文件引用。
图1
CAN 自定义协议程序的流程图
主程序流程
框架初始化 接收线程流程
(LW 、CAN波特率)
创建接收线程 Read_CAN
Init()
MsgDispatch()
main_process()
usleep(cycle)
图2
需要用户实现的函数
void Init(CAN_PORT canport)
调用方式:仅在组态程序运行的时候执行一次
功能:用户程序的初始化
void main_process(CO_Data* d, UNS32 id)
调用方式:周期性执行,默认周期为10ms,周期可以在void Init(CAN_PORT canport)中调用
Set_Cycle 来设定,最小周期为10ms
功能:用户程序的“main 函数”
void MsgDispatch(CO_Data* d, Message *m)
调用方式:每接收到一帧CAN 数据,就执行一次
功能:常用于对接收到的数据做解析,或者做出响应。与main_process 没有关联。
供用户调用的API_V0.1
<Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。