韩国电影《教室爱欲》,国产精品99久久久久久久女警,69国产成人精品午夜福中文,国产熟妇乱xxxxx大屁股网

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

大彩串口屏4G應用-串口自定義指令

發布人:大彩科技發布日期:2021-11-18


演示視頻


一、適合范圍


本文檔適合大彩PM 4G系列串口屏產品使用。





二、開發環境版本


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

版本查看:

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

圖2-1軟件版本


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

圖2-2軟件版本


2. 串口屏硬件版本:M系列固件>= V6.3.249.00

版本查看:

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

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





三、概述


本例程主要講述通過簡單的LUA程序,就可以實現單片機只需發指令給串口1就可以控制4G模塊,同時可以使用大彩指令。

本例程適用于數據量小的應用。當涉及到下載圖片、文件到串口屏FLASH的功能時,還是要在LUA里面進行所有的數據處理,請參考HTTP下載的例程。





四、參考資料


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

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

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

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

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

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





五、串口自定義指令流程


本文主要介紹串口自定義指令控制4G模塊時需要執行的指令以及所使用API函數的詳細說明,執行流程如下。

圖 5-1 流程圖






5.1 4G模塊開機

通過GPIO控制4G模塊開機。程序清單1所示

程序清單 1 4G模塊開機


function on_init()

    --初始化GPIO
    gpio_set_out(IOPWRKEY)
    gpio_set_out(IORESET)
    gpio_set_value(IOPWRKEY,0)

    --開啟定時器,等一段時間在控制4G模塊開機
    stop_timer(setup_4G_timerid1)
    start_timer(setup_4G_timerid1,setup_4G_timeout1,0,1)

end

--4G模塊上電
function setup_4G()

    --控制4G模塊的開機引腳,開機
    gpio_set_value(IOPWRKEY,1)
    stop_timer(setup_4G_timerid)
    start_timer(setup_4G_timerid,setup_4G_timeout,0,1)
end

--4G模塊定時處理接口
function on_timer(timer_id)    
    if timer_id==setup_4G_timerid then
        --setup_4G:end
        --控制4G模塊的開機引腳,開機完成,回復初始狀態
        gpio_set_value(IOPWRKEY,0)
    end

    if timer_id==setup_4G_timerid1 then
        setup_4G()
    end
end







5.2 串口自定義指令

接收串口1的自定義指令,自定義指令中包括AT指令,在LUA中處理,獲取出AT指令,再通過串口3發送給4G模塊,如程序清單2所示。

程序清單 2 自定義指令解析

--單片機發AT指令控制4G模塊,把串口1的數據處理后,轉發到串口3
--串口1自定義指令示例一 發送AT:EE B5 04 41 54 0D 0A FF FC FF FF
--串口1自定義指令示例二 發送AT+CSQ:EE B5 08 41 54 2B 43 53 51 0D 0A FF FC FF FF
--串口1自定義指令示例三 發送AT+COPS?:EE B5 0A 41 54 2B 43 4F 50 53 3F 0D 0A FF FC FF FF
--串口1自定義指令示例四 發送AT+ICCID:EE B5 0A 41 54 2B 49 43 43 49 44 0D 0A FF FC FF FF
function on_uart_recv_data(packet)

    local packet_at={}
    --EE B5 [自定義指令] FF FC FF FF
    --[自定義指令]格式:AT指令長度 + AT指令
    --例子:EE B5       02            41 54 0D 0A     FF FC FF FF
    --解析:固定幀頭    AT指令長度    AT指令          固定幀尾

    --AT指令會放到 packet_at 里
    --packet_at[0]開始就是AT指令
    --有效指令字節數 #packet-6
    for i=0,packet[2]-1
    do
        packet_at[i] = packet[3+i]
    end
    uart_send_data3(packet_at)
    for i=0,#packet_at
    do
        set_text(0,i+4,packet_at[i])
    end

end


接收4G模塊返回的數據,再通過串口1發送給單片機,程序清單3所示;

程序清單 3 接收4G模塊返回的數據

function on_uart_recv_data3(packet)
    --4G返回的數據,串口3轉發到串口1
    uart_send_data(packet)
End









主站蜘蛛池模板: 临高县| 阳高县| 肇州县| 海丰县| 安阳市| 西昌市| 庆安县| 晋江市| 鸡西市| 北碚区| 五家渠市| 陆丰市| 麻城市| 兴化市| 洪江市| 平远县| 迁西县| 宜阳县| 鹤岗市| 邵东县| 隆回县| 阿合奇县| 宁河县| 洞头县| 志丹县| 贵南县| 乌拉特后旗| 新巴尔虎左旗| 吴堡县| 日照市| 陈巴尔虎旗| 河东区| 蒲江县| 木兰县| 嫩江县| 永昌县| 江川县| 卢龙县| 大石桥市| 岱山县| 梓潼县|