RS232485Can通讯测试刘洋0120Word文档格式.docx
《RS232485Can通讯测试刘洋0120Word文档格式.docx》由会员分享,可在线阅读,更多相关《RS232485Can通讯测试刘洋0120Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
![RS232485Can通讯测试刘洋0120Word文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/3/78eb4d02-82f1-4d0e-8b91-2dd5fe72b515/78eb4d02-82f1-4d0e-8b91-2dd5fe72b5151.gif)
X20CP3586端TX
PC端TXD--->
X20CP3586端RX
PC端SG----->
X20CP3586端GND
图1-1
1.4软件配置
图1-2
图1-3
如图1-2与1-3,CP3586IF1串口参数与串口调试助手设置一致,本次测试使用的波特率19200,偶校验,8位数据位,1位停止位。
1.5添加代码
添加dvframe库
图1-4
添加dvframe库的例子程序
图1-5
修改发送数据的结构,如图1-6,send_data修改为256长度的byte数组。
图1-6
如图1-7,修改mode为/PHY=RS232/BD=19200/DB=8/PA=E/SB=1含义是RS232通讯方式,19200波特率,8位数据位,偶校验,1位停止位。
与章节1.4中的图1-3一致。
Device为IF1,也就是CP3586对应的串口地址。
delem[0],delem[1]修改为13,10,表示换行。
图1-7
图1-8
修改Receiver接收端代码,如图1-9,跟发送端大同小异。
图1-9
1.6测试结果
图1-10
如图1-10,串口调试助手显示接收到的数据,与图1-8中代码里写下发送数据一致。
图1-11
如图1-11,以16进制发送1234567890,在监控里可以看到receive_data[0..4]收到对应的数据。
2RS485通讯
2.1测试环境
X20CP3586
+
X20IF1030
X20CS1030
2.2测试目标
X20IF1030与X20CS1030之间通过RS485相互通讯。
2.3引脚说明与接线
图2-1
图2-2
2.4软件配置
在RS232通讯的基础上修改代码。
这里X20CS1030是接收端,device对应的地址是IF6.ST1.IF1
Mode修改为/PHY=RS485/BD=19200/DB=8/PA=E/SB=1
图2-3
图2-4,X20CS1030的configuration。
图2-4
如图2-5,X20IF1030为发送端,device为SS1.IF1
Mode为/PHY=RS485/BD=19200/DB=8/PA=E/SB=1
与接收端匹配。
图2-5
如图2-6,X20IF1030的configuration。
图2-6
2.5测试结果
图2-7
图2-8
X20IF1030发送send_data[0..3]={1,2,3,4,},如图2-7
X20CS1030接收receive_data[0..3]={1,2,3,4}如图2-8
3Can通讯
3.1测试环境
X20CS1070
X20CS1070
3.2测试目标
两个X20CS1070模块作为两个Can站点相互通讯。
3.3引脚说明与接线
如图3-1,can站点之间接线是:
CAN_H---->
CAN_H
CAN_L---->
CAN_L
CAN_GND--->
CAN_CAN_GND
图3-1
图3-2
图3-3
X20CS1070之间接线完成后如上图所示
3.4软件配置
图3-4
CS1070的功能模式从flat修改为stream,flat模式下无法使用Can_Lib库
图3-5
在CAN接口的configuration中将Activateinterface开关置为on
图3-6
注意:
首位两个Can站点的终端电阻必须打开,由于本次测试只有两个CS1070模块,所以两个模块的终端电阻都打开了。
如图3-3,终端电阻打开后,T型橙色的灯会常亮。
3.5添加代码
本次测试使用的是Can_Lib库的CANopen、CANwrite、CANread三个功能块。
图3-7
图3-8