[屏驱相关] 【SWM166-SPI-Y1.28C1测评】图形应用开发示例

[复制链接]
 楼主| BinWin 发表于 2023-12-23 20:49 | 显示全部楼层 |阅读模式
本帖最后由 BinWin 于 2023-12-23 20:51 编辑

     这块带有磨具的小圆屏,同时可以使用LED和编码器,对于做一些有显示界面的交互应用特别有优势,这次就尝试下UI应用的开发流程。
     首先准备几副图片,分辨率可以是240*240的像素,但屏幕其实不会显示出完整的像素内容。但是芯片也没有对原型数据的特别优化,所以直接刷新240*240大小的图片即可。测试为主,这里就简单用了3张图片,附上了不同的标记。
      5.png
    这样就可以清楚的分辨出程序有没有正确的从FLASH读取到想要显示的图片。
    厂家的工具也十分方便,可以自动生成开发所需要的烧录文件和图片地址信息,也就是image_map信息。
    6.png
   以上就是使用过程,首先选择图片路径,最好是给图片按顺序命名。然后选择转换即可。
  之后进行的操作是烧录。串口波特率可以结合单片机工程里的配置和上位机匹配即可。然后选择要烧录的bin文件,就是上一步操作生成的文件。等待更新flash完成即可。这里要注意的是,flash只是按照图片信息更新了部分地址。比如我这用了三张图片,但原先的例程烧录了更多的图片数据,所以在程序里显示图片时要注意自己需要显示的图片地址信息。
   三张示例图片的切换用编码器的旋转来改变。按下按键则复位到第一张图。需要自己写一下按键处理程序,可以简单写成下面这样。

  1. if(Key_Value != Key_Null)
  2.         {
  3.                         if(Key_Value == KS_Down)
  4.                         {                                
  5.                                 a-=1;
  6.                         }
  7.                         if(Key_Value == KS_Up )
  8.                         {
  9.                                 a+=1;
  10.                         }
  11.                         if(Key_Value == KS_Set)
  12.                         {
  13.                                 a= 0;
  14.                         }
  15.                         
  16.                         Key_Value = Key_Null;
  17.         }
  18.         if(a > 2) a = 0;
  19.         if(a < 0) a = 2;
  20.    LCD_ShowImg_**(0,0,a);
复制代码
   以上代码替换Key_Deal()函数内容即可,程序执行后可以证实,左旋和右旋切换图一图二和图三,按下编码器按键可以复位到图一。    7.png       
    开发流程清晰,,可以根据实际需要制作素材和编写菜单逻辑就行了。


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

本版积分规则

20

主题

65

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部