免费视频观看视频观看-国产精品自在欧美一区-欧美另类日本中文字幕-欧美一区成人在线视频

您的位置:首頁(yè)   >  關(guān)于我們  >  新聞動(dòng)態(tài)

大彩串口屏CAN總線數(shù)據(jù)收發(fā)應(yīng)用說(shuō)明

發(fā)布人:大彩科技發(fā)布日期:2021-09-02

一、適合范圍


本文檔適合大彩帶 CAN接口的EW系列串口屏產(chǎn)品使用。





二、開(kāi)發(fā)環(huán)境版本


1. VisualTFT軟件版本:V3.0.1.1112及以上的版本。

版本查看:

1) 打開(kāi)VisualTFT軟件啟動(dòng)頁(yè)面如圖2-1軟件版本,右上角會(huì)顯示的軟件版本號(hào);

圖片

圖2-1軟件版本


2) 打開(kāi)VisualTFT,在軟件右下角可以查看軟件版本圖2-2軟件版本,最新版本可登錄http://www.ks-ws2008.com/進(jìn)行下載。

圖片

圖2-2軟件版本


2. 串口屏硬件版本:EW系列固件 >= V7.0.863.0。

版本查看:

1) 查看屏幕背面版本號(hào)貼紙;

2) VisualTFT與屏幕聯(lián)機(jī)成功后,右下角顯示的版本號(hào)。





三、CAN功能概述


EW系列串口屏CAN總線接口的參數(shù)如下:

1. 波特率支持125k ~ 1M Bps;

2. 屏幕內(nèi)置128歐姆終端電阻;

3. 支持標(biāo)準(zhǔn)幀和擴(kuò)展幀;

4. 遵循CAN2.0B協(xié)議。





四、參考資料


 1  LUA 腳本API V1.4》可通過(guò)以下鏈接下載物聯(lián)型開(kāi)發(fā)包獲取:

http:/www.ks-ws2008.com/index.php?s=/List/index/cid/19.html

 2  《LUA基礎(chǔ)學(xué)習(xí)》可通過(guò)以下鏈接下載物聯(lián)型開(kāi)發(fā)包獲取:

http:/www.ks-ws2008.com/index.php?s=/List/index/cid/19.html

 3  LUA腳本初學(xué)者可以通過(guò)下面鏈接進(jìn)行學(xué)習(xí)。

http://www.runoob.com/lua/lua-arrays.html





五、教程實(shí)現(xiàn)


本文主要介紹屏幕CAN接口數(shù)據(jù)收發(fā),以及CAN相關(guān)API應(yīng)用等,將以下2點(diǎn)進(jìn)行說(shuō)明:

1. 準(zhǔn)備工程素材;

2. 配置串口屏工程;






5.1 準(zhǔn)備工程素材

在實(shí)現(xiàn)例程前需要作以下3個(gè)準(zhǔn)備:

1. 硬件平臺(tái);

2. 軟件平臺(tái);

3. UI素材;


5.1.1 硬件平臺(tái)

該例程使用大彩物聯(lián)型7寸串口屏DC80480EW070為驗(yàn)證開(kāi)發(fā)平臺(tái)。如圖5-1所示;

圖5-1  EW系列7寸串口屏

其他尺寸EW型的串口屏帶CAN總線接口的產(chǎn)品均可借鑒此教程。


5.1.2 軟件平臺(tái)

使用大彩自主研發(fā)的上位機(jī)軟件VisualTFT配置工程,登錄http://www.ks-ws2008.com/下載。如圖5-2所示;

圖片

圖5-2 下載軟件






5.2 配置串口屏工程

本文主要介紹以下2點(diǎn):

(1) 發(fā)送數(shù)據(jù)

(2) 接收并顯示數(shù)據(jù)


5.2.1 CAN總線收發(fā)測(cè)試

本例程中使用電腦通過(guò)USB轉(zhuǎn)CAN的調(diào)試工具與EW070進(jìn)行數(shù)據(jù)收發(fā)測(cè)試。

1. 畫(huà)面配置

在畫(huà)面ID0中,添加兩個(gè)文本控件(控件ID1、控件ID2)和一個(gè)按鈕控件(控件ID4),其中控件控件ID1顯示“需要發(fā)送的數(shù)據(jù)”、控件ID2顯示“CAN總線接收到的數(shù)據(jù)”??丶蘒D1為按鈕按下時(shí)候發(fā)出數(shù)據(jù)給CAN總線。如圖5-3所示: 

圖5-3 畫(huà)面配置


2 LUA腳本編輯

在系統(tǒng)初始化函數(shù)中打開(kāi)CAN bus 接口,代碼如所示;

--初始化函數(shù)
function on_init()
    canbus_open(0,125,0,0)    --打開(kāi)CANBUS 接口,設(shè)備索引號(hào)0,波特率125kbps ,關(guān)閉只讀模式,關(guān)閉自收發(fā)測(cè)試
end


本例程中,用戶點(diǎn)擊按鈕控件ID4后,將向CAN總線發(fā)送控件1的值。代碼如程序清單 1所示:


程序清單 1 功能實(shí)現(xiàn)

--用戶通過(guò)觸摸修改控件后,執(zhí)行此回調(diào)函數(shù)。
--點(diǎn)擊按鈕控件,修改文本控件、修改滑動(dòng)條都會(huì)觸發(fā)此事件。
function on_control_notify(screen,control,value)
    if screen== screen_can and control==4 and value==1  
    then
        send_data_buffer[0] =  get_value(screen_can,1)>> 8
        send_data_buffer[1] =  get_value(screen_can,1)&0xFF
        canbus_write(0,CAN_CMD_ID,2,0,0,send_data_buffer)

    end
end



電腦調(diào)試工具接收到CAN的數(shù)據(jù),顯示如下:


function on_canbus_recv (index,identifier,dlc,rtr,ide,data)
     if  CAN_CMD_ID == identifier then
        set_value(screen_can,5,rtr)
        if data[0] ~= nil and data[1] ~= nil then
            local show_value = (data[0]<<8) + data[1]          --將前兩個(gè)字節(jié)合并顯示
            set_value(screen_can,2,show_value)
            canbus_write(0,CAN_CMD_ID,dlc,0,0,data)

        end

     end

end


當(dāng)電腦通過(guò)CAN正確響應(yīng)屏幕請(qǐng)求后,將信息顯示在文本ID2中。


5.2.2 核心API函數(shù)

1) canbus_open(index,baudrate,listen_mode,loop_back) --開(kāi)啟CANBUS 接口

  • Index-索引號(hào)0~1(0指的是第一路CAN接口,1表示第二路CAN接口,目前只支持一路)
  • Baudrate-波特率(單位K),可選125,250,500,1000
  • listen_mode-只讀模式
  • loop_back-自發(fā)自收(環(huán)回/自測(cè))


2)  canbus_close(index) 關(guān)閉CANBUS 接口

  • Index-索引號(hào)0~1


3) canbus_write(index,identifier,dlc,rtr,ide,data)  發(fā)送CAN報(bào)文

  • index--索引號(hào)0~1
  • identifier--報(bào)文ID(越小優(yōu)先級(jí)越高)
  • dlc--數(shù)據(jù)長(zhǎng)度(0~8,最長(zhǎng)8個(gè)字節(jié))
  • rtr--遠(yuǎn)程幀,0代表否,1代表是
  • ide--擴(kuò)展幀,0代表否,1代表是
  • data--數(shù)據(jù),table 格式

 

4) on_canbus_recv(index,identifier,dlc,rtr,ide,data)  CAN 報(bào)文回調(diào)函數(shù),收到報(bào)文后,系統(tǒng)自動(dòng)調(diào)用

  • index--索引號(hào)0~1
  • identifier--報(bào)文ID(越小優(yōu)先級(jí)越高)
  • dlc--數(shù)據(jù)長(zhǎng)度(0~8,最長(zhǎng)8個(gè)字節(jié))
  • rtr--遠(yuǎn)程幀,0代表否,1代表是
  • ide--擴(kuò)展幀,0代表否,1代表是
  • data--數(shù)據(jù),table 格式

 

基本思路:當(dāng)按鈕控件ID4按下的時(shí)候,觸發(fā)觸摸控件回調(diào)函數(shù)on_control_notify(),再調(diào)用canbus_write ()向CAn總線發(fā)送報(bào)文。當(dāng)CAN總線其他節(jié)點(diǎn)發(fā)送數(shù)據(jù)后屏幕會(huì)自動(dòng)回調(diào)系統(tǒng)函數(shù)on_canbus_recv,通過(guò)判斷對(duì)應(yīng)的報(bào)文ID編號(hào),對(duì)屏幕的響應(yīng)信息data進(jìn)行提取。