以调试的CANopen I/O模块为例进行说明。
根据对象字典中定义的输入输出变量DI1、DI2、DO1、DO2,PDO同步传输数据如下:
void TestMaster_post_sync(CO_Data* d)
{
DO1++;// 低8位数字输出端口
DO2++;// 高8位数字输出端口
eprintf('MicroMod Digital In: %2.2x\n',DI1);//DI1表示低8位数字输入端口
eprintf('MicroMod Digital In: %2.2x\n',DI2);//DI2表示高8位数字输入端口
}
DO1表示低8位数字输出端口值,unsigned char类型。
DO2表示高8位数字输出端口值,unsigned char类型。
DI1表示低8位数字输入端口,unsigned char类型。
DI2表示高8位数字输入端口,unsigned char类型。
DI1和DI2会打印到串口终端上。
4.2.3编译调试结果分析
程序修改完成,保存退出。基于RSB-4210 ARM开发板上Ubuntu14.02的系统,编译调试的过程如下:
1) 把SD卡插在电脑上,在Ubuntu终端窗口上切换到CanFestival-3-7740ac6fdedc目录下,将修改好的canfestival源代码工程(can_new.tar.gz)压缩打包,并拷贝到SD卡上,拷贝完成后取出SD卡插入ARM板;
2) 打开串口工具,在ARM板rivo下启动系统后,输入sudo su(密码是&#x