周立功開發板CANET-2E-U實現以太網控制串口
硬件連接
CANET-2E-U提供了兩路can總線,可以實現一路發一路收的測試功能;
連線
- CAN0-H接CAN1-H,CAN0-L接CAN1-L,CAN0-R接CAN0-H,CAN1-R接CAN1-H,CANX-G懸空
- 9v~24v直流電源接通電源
- RJ45連接網線,保證pc和板子在同一網段
板子配置
通過自帶軟件ZNetCom V3.58設置板子配置項,包括ip、端口、模式(tcpserver/tcpclient/udp),這裏我選擇tcpserver模式。保存配置,默認密碼88888.參考板子提供的用戶收測文檔進行配置。
軟件開發
開發可以通過兩種方式進行:
方式一:
使用板子提供的API,通過qt開發,Qt5.5 mingw 32
- 將板子提供的庫複製到工程目錄/bin,包括ControlCAN.h, ControlCAN.lib, ControlCAN.dll,keneldlls
- .pro配置
win32:CONFIG(release, debug|release): LIBS += -L$$PWD/bin/ -lControlCAN
else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/bin/ -lControlCAN
INCLUDEPATH += $$PWD/bin
DEPENDPATH += $$PWD/bin
- 引入頭文件 #include “bin/ControlCAN.h”
- 根據官網提供的實例進行開發,提供的api文檔也挺詳細
方式二:
通過標準socket開發,這個板子的好處是提供透明的socket開發。
具體開發和常規socket開發一樣。
這裏需要注意的一個問題就是發送的數據應該爲hex,及需要將QString轉換爲HEX,如發送數據QString data=“08 00 00 01 11 22 33 44 55 66 77 88”,需要將data轉換爲HEX數據格式。
這裏可以使用自帶軟件CANTest軟件,通過選擇設備中CANET-TCP控制CAN0,自己開發軟件控制CAN1,實現相互發送/接受。
CAN總線
需要對can總線有些瞭解,單純實現上位機開發,不用深研究,搞明白基本數據格式。
包括幀類型、幀ID、幀數據。瞭解這些就可以實現數據發送和接受了。