查看: 191|回复: 0

[分享] [LPC54628试用]-1-开箱与环境搭建

[复制链接]
  • TA的每日心情
    慵懒
    2024-5-23 06:13
  • 签到天数: 1082 天

    连续签到: 1 天

    [LV.10]以坛为家III

    24

    主题

    1986

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    6480
    最后登录
    2025-12-7
    发表于 2025-11-17 13:13:25 | 显示全部楼层 |阅读模式
    感谢NXP论坛赞助的LPC54628开发板,实物如下:

    Snipaste_2025-11-17_12-52-52.png


    先上电看一下效果:
    Snipaste_2025-11-17_12-53-37.png     Snipaste_2025-11-17_12-53-27.png


    虽然推向市场的时间有接近8年时间,不管官方一直在保持相关的固件库的更新。
    该开发板由LPC54628目标器件和板载CMSIS-DAP/SEGGER®J-Link兼容的硬件调试器组成。板载硬件调试器与MCUXpresso IDE及Keil™和IAR®等其他领先的工具链兼容。该板还配有一个标准的10引脚接头,可使用第三方硬件调试器。除了标准的LPCXpresso V3功能,该开发板还包括一套完整的外设接口,使开发人员能够充分了解LPC546xx器件的功能。


    计划的开发环境是GUI GUIDER + KEIL。
    keil在Package管理器中添加LPC54628的支持包:
    1.KEIL PACK.png

    在NXP官网,进入SDK Builder,选择芯片类型,工具链为Keil:
    Snipaste_2025-11-17_12-58-36.png 4-sdk builder.png 3-sdk builder.png

    解压SDK_25_06_00_LPCXpresso54628.zip即为最新的开发板固件库。


    GUI GUIDER使用的是1.9.0版本。先使用快速模板,添加label组件,然后生成C代码,工具为KEIL。
    Snipaste_2025-11-17_13-00-35.png


    使用KEIL打开生成的工程,在lvgl_guider.c中,main function:
    1. /*!
    2. * @brief Main function
    3. */
    4. int main(void)
    5. {
    6.     BaseType_t stat;

    7.     /* Init board hardware. */
    8.     BOARD_InitHardware();
    9.     DEMO_InitUsTimer();
    10.     spifi_flash_init();

    11.     stat = xTaskCreate(AppTask, "lvgl", 1024, NULL, tskIDLE_PRIORITY + 2, NULL);
    12.         
    13.                 xTaskCreate(HelloTask, "HelloTask", 1024, NULL, tskIDLE_PRIORITY + 2, NULL);

    14.     if (pdPASS != stat)
    15.     {
    16.         PRINTF("Failed to create lvgl task");
    17.         while (1)
    18.             ;
    19.     }

    20.     vTaskStartScheduler();

    21.     for (;;)
    22.     {
    23.     } /* should never get here */
    24. }
    复制代码

    其中新建了一个TASK:
    1. xTaskCreate(HelloTask, "HelloTask", 1024, NULL, tskIDLE_PRIORITY + 2, NULL);
    复制代码
    TASK入口:
    1. static void HelloTask(void *param){
    2.         static uint32_t i;

    3.         for(;;){
    4.                 PRINTF("\r\nInside Hello Task, %d",i++);
    5.                 vTaskDelay(1000 / portTICK_PERIOD_MS);
    6.                
    7.         }
    8. }
    复制代码

    编辑setup_src_屏幕名称.c:
    1. static void add_data(lv_timer_t * timer){

    2.                 LV_UNUSED(timer);
    3.                 lv_label_set_text_fmt(mylabel_temp, "%2d C", lv_rand(0,30));
    4. }
    复制代码


    效果:
    新建的TASK在串口输出调试数据:
    Snipaste_2025-11-17_13-11-13.png


    屏幕动态刷新:
    0F65EB47-AD86-4687-B822-5D925A0A7313-474-000000176E3093BE.gif



    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-12-7 21:03 , Processed in 0.083246 second(s), 20 queries , Redis On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表