本帖最后由 BinWin 于 2023-12-23 20:51 编辑
这块带有磨具的小圆屏,同时可以使用LED和编码器,对于做一些有显示界面的交互应用特别有优势,这次就尝试下UI应用的开发流程。
首先准备几副图片,分辨率可以是240*240的像素,但屏幕其实不会显示出完整的像素内容。但是芯片也没有对原型数据的特别优化,所以直接刷新240*240大小的图片即可。测试为主,这里就简单用了3张图片,附上了不同的标记。
这样就可以清楚的分辨出程序有没有正确的从FLASH读取到想要显示的图片。
厂家的工具也十分方便,可以自动生成开发所需要的烧录文件和图片地址信息,也就是image_map信息。
以上就是使用过程,首先选择图片路径,最好是给图片按顺序命名。然后选择转换即可。
之后进行的操作是烧录。串口波特率可以结合单片机工程里的配置和上位机匹配即可。然后选择要烧录的bin文件,就是上一步操作生成的文件。等待更新flash完成即可。这里要注意的是,flash只是按照图片信息更新了部分地址。比如我这用了三张图片,但原先的例程烧录了更多的图片数据,所以在程序里显示图片时要注意自己需要显示的图片地址信息。
三张示例图片的切换用编码器的旋转来改变。按下按键则复位到第一张图。需要自己写一下按键处理程序,可以简单写成下面这样。
if(Key_Value != Key_Null)
{
if(Key_Value == KS_Down)
{
a-=1;
}
if(Key_Value == KS_Up )
{
a+=1;
}
if(Key_Value == KS_Set)
{
a= 0;
}
Key_Value = Key_Null;
}
if(a > 2) a = 0;
if(a < 0) a = 2;
LCD_ShowImg_**(0,0,a);
以上代码替换Key_Deal()函数内容即可,程序执行后可以证实,左旋和右旋切换图一图二和图三,按下编码器按键可以复位到图一。
开发流程清晰,,可以根据实际需要制作素材和编写菜单逻辑就行了。
|