1、RS232485Can通讯测试刘洋01201 RS232通讯1.1 测试环境X20CP3586,自带RS232接口,接口地址IF1。1.2 测试目标X20CP3586IF1接口发送数据,PC端通过串口调试助手接收数据,通讯正常。PC端通过串口调试助手发送数据,X20CP3586IF1接口接收数据,通讯正常。1.3 引脚说明与接线如图1-1:PC端RXD-X20CP3586端TXPC端TXD-X20CP3586端RXPC端SG-X20CP3586端GND图1-11.4 软件配置图1-2图1-3如图1-2与1-3,CP3586IF1串口参数与串口调试助手设置一致,本次测试使用的波特率19200,偶
2、校验,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对应的串口地址。delem0,delem1修改为13,10,表示换行。图1-7图1-8修改Receiver接收端代码,如图1-9,跟发送端大同小异
3、。图1-91.6 测试结果图1-10如图1-10,串口调试助手显示接收到的数据,与图1-8中代码里写下发送数据一致。图1-11如图1-11,以16进制发送1234567890,在监控里可以看到receive_data0.4收到对应的数据。2 RS485通讯2.1 测试环境X20CP3586 + X20IF1030 + X20CS10302.2 测试目标X20IF1030与X20CS1030之间通过RS485相互通讯。2.3 引脚说明与接线图2-1图2-22.4 软件配置在RS232通讯的基础上修改代码。这里X20CS1030是接收端,device对应的地址是IF6.ST1.IF1Mode修改为
4、/PHY=RS485 /BD=19200 /DB=8 /PA=E /SB=1图2-3图2-4,X20CS1030的configuration。图2-4如图2-5,X20IF1030为发送端,device为SS1.IF1Mode为/PHY=RS485 /BD=19200 /DB=8 /PA=E /SB=1与接收端匹配。图2-5如图2-6,X20IF1030的configuration。图2-62.5 测试结果图2-7图2-8X20IF1030发送send_data0.3=1,2,3,4,如图2-7X20CS1030接收receive_data0.3=1,2,3,4如图2-83 Can通讯3.1
5、测试环境X20CP3586 + X20CS1070 + X20CS10703.2 测试目标两个X20CS1070模块作为两个Can站点相互通讯。3.3 引脚说明与接线如图3-1,can站点之间接线是:CAN_H-CAN_HCAN_L-CAN_LCAN_GND-CAN_CAN_GND图3-1图3-2图3-3X20CS1070之间接线完成后如上图所示3.4 软件配置图3-4CS1070的功能模式从flat修改为stream,flat模式下无法使用Can_Lib库图3-5在CAN接口的configuration中将Activate interface开关置为on图3-6注意:首位两个Can站点的终端电阻必须打开,由于本次测试只有两个CS1070模块,所以两个模块的终端电阻都打开了。如图3-3,终端电阻打开后,T型橙色的灯会常亮。3.5 添加代码本次测试使用的是Can_Lib库的CANopen、CANwrite、CANread三个功能块。图3-7图3-8
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1