单片机显示屏多个界面编程思路

        在之前的学习中对于多界面切换显示。。是非常的头疼的一件事。。感觉无从下手。

在公司看了下前辈们写的多界面切换代码后才发现。。原来多界面的切换,只要理清思路也不是特别难。。

在进行多界面切换时,一定要理清编程思路,也就是,有几个界面界面的切换顺序是什么。。。。

在编程时。。枚举类型就派上用场了,,我们可以将每个界面用枚举中的一个元素表示例如:

enum

{

             UI_1;

             UI_2;

             UI_3;

}

在进行界面的切换的时候我们只需要用一个switch语句即可进行界面的切换。

当能进行界面的切换时。我们不同的界面也有不同的功能选项,以及显示的字符,我们只需要在主循环中判断当前处于哪个界面,对应不同的界面只需要编写相应的显示函数,即可使得编程思路扁的清晰。。。

在界面的功能选项上我们也能通过结构体来管理每个界面的各个选项。。。。使得代码便于阅读编程思路变的清晰。

在使用结构体管理时,为了避免结构体对齐和补齐消耗单片机的内存,我们可以使用关键字__packed这个关键字可以使得结构体以一字节对齐有效地避免的内存的浪费。。。。

例如:

__packed struct       DAT  
{     
        unsigned char  b;
        unsigned char  a;
        unsigned int  c;  

}

此时结构体所占字节为;6字节。。

总结:在进行这种复杂场景的编程时一定要理清思路,将每个不同场景分类处理就会变得思路清晰。其实这就是一种状态机的编程思想。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值