中文字幕天堂手机版-欧美一区二区色大片在线观看-丰满人妻视频一区二区三区-美女视频黄的免费的91

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

大彩串口屏4G應(yīng)用-串口自定義指令

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


演示視頻


一、適合范圍


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





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


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

版本查看:

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

圖2-1軟件版本


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

圖2-2軟件版本


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

版本查看:

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

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





三、概述


本例程主要講述通過(guò)簡(jiǎn)單的LUA程序,就可以實(shí)現(xiàn)單片機(jī)只需發(fā)指令給串口1就可以控制4G模塊,同時(shí)可以使用大彩指令。

本例程適用于數(shù)據(jù)量小的應(yīng)用。當(dāng)涉及到下載圖片、文件到串口屏FLASH的功能時(shí),還是要在LUA里面進(jìn)行所有的數(shù)據(jù)處理,請(qǐng)參考HTTP下載的例程。





四、參考資料


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

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

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

http:/gc086.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





五、串口自定義指令流程


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

圖 5-1 流程圖






5.1 4G模塊開(kāi)機(jī)

通過(guò)GPIO控制4G模塊開(kāi)機(jī)。程序清單1所示

程序清單 1 4G模塊開(kāi)機(jī)


function on_init()

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

    --開(kāi)啟定時(shí)器,等一段時(shí)間在控制4G模塊開(kāi)機(jī)
    stop_timer(setup_4G_timerid1)
    start_timer(setup_4G_timerid1,setup_4G_timeout1,0,1)

end

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

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

--4G模塊定時(shí)處理接口
function on_timer(timer_id)    
    if timer_id==setup_4G_timerid then
        --setup_4G:end
        --控制4G模塊的開(kāi)機(jī)引腳,開(kāi)機(jī)完成,回復(fù)初始狀態(tài)
        gpio_set_value(IOPWRKEY,0)
    end

    if timer_id==setup_4G_timerid1 then
        setup_4G()
    end
end







5.2 串口自定義指令

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

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

--單片機(jī)發(fā)AT指令控制4G模塊,把串口1的數(shù)據(jù)處理后,轉(zhuǎn)發(fā)到串口3
--串口1自定義指令示例一 發(fā)送AT:EE B5 04 41 54 0D 0A FF FC FF FF
--串口1自定義指令示例二 發(fā)送AT+CSQ:EE B5 08 41 54 2B 43 53 51 0D 0A FF FC FF FF
--串口1自定義指令示例三 發(fā)送AT+COPS?:EE B5 0A 41 54 2B 43 4F 50 53 3F 0D 0A FF FC FF FF
--串口1自定義指令示例四 發(fā)送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指令長(zhǎng)度 + AT指令
    --例子:EE B5       02            41 54 0D 0A     FF FC FF FF
    --解析:固定幀頭    AT指令長(zhǎng)度    AT指令          固定幀尾

    --AT指令會(huì)放到 packet_at 里
    --packet_at[0]開(kāi)始就是AT指令
    --有效指令字節(jié)數(shù) #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模塊返回的數(shù)據(jù),再通過(guò)串口1發(fā)送給單片機(jī)程序清單3所示;

程序清單 3 接收4G模塊返回的數(shù)據(jù)

function on_uart_recv_data3(packet)
    --4G返回的數(shù)據(jù),串口3轉(zhuǎn)發(fā)到串口1
    uart_send_data(packet)
End