您的位置:首頁   >  關于我們  >  新聞動態

                                                    大彩串口屏CAN總線數據收發應用說明

                                                    發布人:大彩科技發布日期:2021-09-02

                                                    一、適合范圍


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





                                                    二、開發環境版本


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

                                                    版本查看:

                                                    1) 打開VisualTFT軟件啟動頁面如圖2-1軟件版本,右上角會顯示的軟件版本號;

                                                    圖片

                                                    圖2-1軟件版本


                                                    2) 打開VisualTFT,在軟件右下角可以查看軟件版本圖2-2軟件版本,最新版本可登錄http://www.lnf736.com/進行下載。

                                                    圖片

                                                    圖2-2軟件版本


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

                                                    版本查看:

                                                    1) 查看屏幕背面版本號貼紙;

                                                    2) VisualTFT與屏幕聯機成功后,右下角顯示的版本號。





                                                    三、CAN功能概述


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

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

                                                    2. 屏幕內置128歐姆終端電阻;

                                                    3. 支持標準幀和擴展幀;

                                                    4. 遵循CAN2.0B協議。





                                                    四、參考資料


                                                     1  LUA 腳本API V1.4》可通過以下鏈接下載物聯型開發包獲取:

                                                    http:/www.lnf736.com/index.php?s=/List/index/cid/19.html

                                                     2  《LUA基礎學習》可通過以下鏈接下載物聯型開發包獲取:

                                                    http:/www.lnf736.com/index.php?s=/List/index/cid/19.html

                                                     3  LUA腳本初學者可以通過下面鏈接進行學習。

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





                                                    五、教程實現


                                                    本文主要介紹屏幕CAN接口數據收發,以及CAN相關API應用等,將以下2點進行說明:

                                                    1. 準備工程素材;

                                                    2. 配置串口屏工程;






                                                    5.1 準備工程素材

                                                    在實現例程前需要作以下3個準備:

                                                    1. 硬件平臺;

                                                    2. 軟件平臺;

                                                    3. UI素材;


                                                    5.1.1 硬件平臺

                                                    該例程使用大彩物聯型7寸串口屏DC80480EW070為驗證開發平臺。如圖5-1所示;

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

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


                                                    5.1.2 軟件平臺

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

                                                    圖片

                                                    圖5-2 下載軟件






                                                    5.2 配置串口屏工程

                                                    本文主要介紹以下2點:

                                                    (1) 發送數據

                                                    (2) 接收并顯示數據


                                                    5.2.1 CAN總線收發測試

                                                    本例程中使用電腦通過USB轉CAN的調試工具與EW070進行數據收發測試。

                                                    1. 畫面配置

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

                                                    圖5-3 畫面配置


                                                    2 LUA腳本編輯

                                                    在系統初始化函數中打開CAN bus 接口,代碼如所示;

                                                    --初始化函數
                                                    function on_init()
                                                        canbus_open(0,125,0,0)    --打開CANBUS 接口,設備索引號0,波特率125kbps ,關閉只讀模式,關閉自收發測試
                                                    end


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


                                                    程序清單 1 功能實現

                                                    --用戶通過觸摸修改控件后,執行此回調函數。
                                                    --點擊按鈕控件,修改文本控件、修改滑動條都會觸發此事件。
                                                    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



                                                    電腦調試工具接收到CAN的數據,顯示如下:


                                                    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]          --將前兩個字節合并顯示
                                                                set_value(screen_can,2,show_value)
                                                                canbus_write(0,CAN_CMD_ID,dlc,0,0,data)
                                                    
                                                            end
                                                    
                                                         end
                                                    
                                                    end


                                                    當電腦通過CAN正確響應屏幕請求后,將信息顯示在文本ID2中。


                                                    5.2.2 核心API函數

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

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


                                                    2)  canbus_close(index) 關閉CANBUS 接口

                                                    • Index-索引號0~1


                                                    3) canbus_write(index,identifier,dlc,rtr,ide,data)  發送CAN報文

                                                    • index--索引號0~1
                                                    • identifier--報文ID(越小優先級越高)
                                                    • dlc--數據長度(0~8,最長8個字節)
                                                    • rtr--遠程幀,0代表否,1代表是
                                                    • ide--擴展幀,0代表否,1代表是
                                                    • data--數據,table 格式

                                                     

                                                    4) on_canbus_recv(index,identifier,dlc,rtr,ide,data)  CAN 報文回調函數,收到報文后,系統自動調用

                                                    • index--索引號0~1
                                                    • identifier--報文ID(越小優先級越高)
                                                    • dlc--數據長度(0~8,最長8個字節)
                                                    • rtr--遠程幀,0代表否,1代表是
                                                    • ide--擴展幀,0代表否,1代表是
                                                    • data--數據,table 格式

                                                     

                                                    基本思路:當按鈕控件ID4按下的時候,觸發觸摸控件回調函數on_control_notify(),再調用canbus_write ()向CAn總線發送報文。當CAN總線其他節點發送數據后屏幕會自動回調系統函數on_canbus_recv,通過判斷對應的報文ID編號,對屏幕的響應信息data進行提取。





                                                    免费人成在线观看69式 手机在线看片欧美亚洲a片 欧美成人免费全部 在线观看亚洲精品国产福利片 无码H黄动漫在线观看免费
                                                                                                      日本XXXXX片免费观看 www.seqing 永久免费无码日韩视频 娇小的学生videos16日本 久久国产免费观看精品3 亚洲色偷偷偷综合网另类小说 在线无码成本人视频动漫 久久久久国色AV免费看 十八禁啪啦拍动态图无遮挡 高H猛烈失禁潮喷无码视频 天堂网亚洲AV制服丝袜 丰满少妇一级A片日本 久久青草精品38国产 成在人线av无码免费看 超粉嫩00无码福利视频 在线播放免费人成视频在线观看 无码不卡A片免费视频 免费A片不打码在线观看 亚洲精品中文字幕 日本一级婬片A片免费手机版 东京热无码人妻系列综合网站 亚洲911精品 日韩毛片 情侣民宅偷拍高潮呻吟 媚药受不了中文字幕在线 亚洲人成电影在线观看天堂色 久久伊人精品青青草原vr 欧美人妻少妇精品视频专区 女人爽到高潮潮喷视频大全 好爽好深好硬高潮视频456 91精品资源免费观看 黄色小网站 一本在线 黄色网站在线播放 美女一进一出XX00试看 亚洲中文无码665566综合网 夜夜视频 一级A片自慰女人自慰看片 在教室里强奷美女班主任电影 国产成人综合色在线观看网站 西西人体午夜视频无码 女人寂寞偷人视频A级 久久精品免费观看国产 亚洲第一无码精品 黑人巨大精品欧美一区二区 国产α片免费观看在线人 欧美成人黄色视频 久久人人做人人玩人人妻精品, 日本一级婬片免费放 成+人+亚洲+综合天堂