查看: 5449|回复: 1

[原创] 【正点原子号令者RT1052试用】五、RT-Thread+GUI体验

[复制链接]
  • TA的每日心情
    开心
    2022-6-16 19:35
  • 签到天数: 649 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-7-19 00:28:34 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 踏平幼稚园 于 2018-7-19 09:09 编辑

    github下载RT-Thread Release版(这里使用最新的V3.0.4)
        https://github.com/RT-Thread/rt-thread/releases

    下载env工具(这里使用的lite版),详细下载及使用参考:RT-Thread工具env使用手册
        https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/



    1、根据手册教程准备好RT-Thread和env环境,env环境中进入RT-Thread->bsp->imxrt1052-evk目录输入menuconfig
    1.png

    2、添加RT-Thread online packages->system packages->Rt-Thread GUI Engine->使能“Enable GUI Engine”,并根据需求修改其他参数
    2.png

    3、进入RT050 Board selete->修改为"RT1050_ATK"
    3.png

    4、进入RT1050 BSP Config->Selete lcd driver->修改“Backlight pin index”为109,这里使用lcd为原子提供的4.3寸RGB屏,其他屏需要根据实际情况修改参数
    4.png

    5、保存并退出,然后env命令行输入“scons --target=mdk -s”,生成mdk工程,工程保存在imxrt1052-evk目录中
    5.png

    6、mdk打开工程,gui_demo.c文件添加lcd设备查找函数
    1. static rt_device_t _lcd_find(const char *name)
    2. {
    3.     rt_device_t dev;

    4.     dev = rt_device_find(name);
    5.     if (!dev)
    6.     {
    7.         rt_kprintf("search device failed: %s\n", name);
    8.         return RT_NULL;
    9.     }

    10.     if (rt_device_open(dev, RT_DEVICE_OFLAG_RDWR) != RT_EOK)
    11.     {
    12.         rt_kprintf("open device failed: %s\n", name);
    13.         return RT_NULL;
    14.     }

    15.     rt_kprintf("open lcd: %s\n", name);

    16.     return dev;
    17. }
    复制代码


    7、rt_gui_demo_init函数中查找、打开lcd设备,并将其设置为rtgui显示设备
    1. int rt_gui_demo_init(void)
    2. {
    3.     rt_thread_t tid;
    4.    
    5.                 rt_device_t lcd_dev = _lcd_find("lcd");
    6.                 rt_device_control(lcd_dev, RTGRAPHIC_CTRL_POWERON, 0);
    7.         
    8.                 rtgui_graphic_set_device(lcd_dev);
    9.                
    10.     tid = rt_thread_create("mygui",
    11.         rt_gui_demo_entry, RT_NULL,
    12.         2048, 25, 10);

    13.     if (tid != RT_NULL)
    14.         rt_thread_startup(tid);

    15.     return 0;
    16. }
    复制代码


    8、打开工程配置,取消勾选Flash Download选项下“Reset and Run
    6.png

    9、编译下载运行程序,可以看到lcd显示RT-Threadl的logo及hellow word
    mmexport1531845865438.jpg


    最后,附上工程: imxrt1052-rtgui_demo.zip (8.61 MB, 下载次数: 9)
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-4-7 13:52
  • 签到天数: 326 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2018-7-19 12:30:03 | 显示全部楼层
    很不错很不错!!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-26 16:20 , Processed in 0.130176 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.