• <samp id="wiyia"><blockquote id="wiyia"></blockquote></samp>
  • <xmp id="wiyia">
  • 您的位置:首页   >  关于我们  >  新闻动态

    大彩串口屏4G应用-串口自定义指令

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


    演示视频


    一、适合范围


    本文档适合大彩PM 4G系列串口屏产品使用。





    二、开发环境版本


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

    版本查看:

    1) 打开VisualTFT软件启动页面如图2-1软件版本,右上角会显示的软件版本号;

    图2-1软件版本


    2) 打开VisualTFT,在软件右下角可以查看软件版本图2-2软件版本,最新版本可登录http://www.1044msc.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.1044msc.com/index.php?s=/List/index/cid/19.html

     2  《LUA基础学习》可通过以下链接下载物联型开发包获取:

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

     3  LUA脚本初学者可以通过下面链接进行学习。

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





    五、串口自定义指令流程


    本文主要介绍串口自定义指令控制4G??槭毙枰葱械闹噶钜约八褂肁PI函数的详细说明,执行流程如下。

    图 5-1 流程图






    5.1 4G??榭?/strong>

    通过GPIO控制4G??榭?/span>。程序清单1所示

    程序清单 1 4G??榭?/span>


    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??榉祷氐氖?/span>

    function on_uart_recv_data3(packet)
        --4G返回的数据,串口3转发到串口1
        uart_send_data(packet)
    End









    乐透彩票 <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <蜘蛛词>| <文本链> <文本链> <文本链> <文本链> <文本链> <文本链>