【国民技术N32项目移植】迷你灯带控制器ui移植

电子说

1.3w人已加入

描述

原文链接

官方中文教程

UI简介

  • Arm-2D的本质是一个针对微控制器GUI生态的“显卡驱动”
  • 它为原本玩不起GUI的小资源MCU(64K Flash 4K SRAM)用“低帧率”换取“低资源消耗”提供了可能
  • 我们可以借助Arm-2D轻松整活儿
    • 做出漂亮的水印效果
    • 实现不规则窗体
    • 制作剪影风格的界面
    • 用 极小的资源资源实现任意大小的圆角矩形界面
    • 用极小资源实现酷炫的动态进度条
    • 显示文字
      更不用说:
    • 制作拥有多层景深效果的横版过关游戏
    • 实现酷炫的智能手表表盘

驱动移植

  • ARM-2D 的显示通过 Disp0_DrawBitmap 实现。
void Disp0_DrawBitmap (uint32_t x, 
                       uint32_t y, 
                       uint32_t width, 
                       uint32_t height, 
                       uint8_t *bitmap)

微控制器

  • 安装 ARM-2D 的驱动及其依赖的 per_counter 驱动。

微控制器

  • 初始化 ARM-2D、屏幕及屏幕切换效果。
    微控制器

屏幕管理

  • 屏幕初始化。
    • sceneX:第几个页面。
    • DISPx_ADAPTER:第几个屏幕,一般只有一个屏幕。
arm_2d_scene0_init(&DISP0_ADAPTER);
  • 屏幕切换模式。
    • 参数一:选择屏幕。
    • 参数二:选择屏幕切换函数(当前为渐暗)。
arm_2d_scene_player_set_switching_mode( 				/* 设置切换特效为 淡入淡出(白色) */
        &DISP0_ADAPTER,
        ARM_2D_SCENE_SWITCH_MODE_FADE_BLACK);

微控制器

  • 屏幕切换时间。
    • 参数一:选择屏幕。
    • 参数二:屏幕过度动画所需时间。
arm_2d_scene_player_set_switching_period(				/* 设置切换持续时间为 3000ms */
        &DISP0_ADAPTER, 
        700);

忙圈效果

  • 通过 void busy_wheel2_show(const arm_2d_tile_t *ptTarget, bool bIsNewFrame) 函数调用 ARM-2D 提供的例子实现忙圈效果。

微控制器

  • 效果。

    微控制器

滚动列表

  • 注册滚动列表。

微控制器

  • 绑定列表函数及子列表位置等参数的设置。

微控制器

  • 实现子列表函数。

微控制器

  • 效果。

    微控制器

倒计时

  • 初始化列表。

微控制器

  • 列表显示,指定显示位置。

微控制器

  • 设置要滚动多少个数值和所需时间,用于控制滚动及速度。

微控制器

  • 效果。

微控制器
  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分