最近学习了一些框架的使用,发现写框架的大佬确实牛逼,有些东西存在很久了却没什么人注意,一旦大佬写成了一个框架,用起来确实真香!
| 理念
在框架中都会有个集中式状态管理工具,它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化!借鉴这个理念,实现对嵌入式项目进行集中式状态管理,下面是初代版的NoahX状态管理工具,友友们有更好的建议可以直接私信,后续再继续迭代升级!
| 实践
main.c文件
#include "reg52.h"#include "delay.h"#include "state.h" sbit LED = P2 ^ 0; // 主函数void main(){ while (1) { if(NoahX.States.state1){ LED = 1; setState1(0); }else{ LED = 0; setState1(1); } delay_ms(1000); }}
state.h文件
#ifndef __STATE_H__#define __STATE_H__ // 定义状态数据typedef struct { unsigned char state1;}typeStates; // 定义状态方法typedef struct { void (*setState1)(unsigned char);}typeMethods; // 定义数据typedef struct{ typeStates States; typeMethods Methods;}typeMember; // 初始化数据extern typeMember NoahX; // 声明函数void setState1(unsigned char param ); #endif
state.c文件
#include "state.h" // 初始化数据typeMember NoahX = { { 0, }, { setState1, }}; // 定义一个函数void setState1(unsigned char param ){ NoahX.States.state1 = param;}
编辑:黄飞
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
存储管理
+关注
关注
0文章
31浏览量
9159
原文标题:框架|集中式状态管理
文章出处:【微信号:玩转单片机,微信公众号:玩转单片机】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
【KL25】初代饭影的开发板学习:轻松玩转LED
本帖最后由 初代饭影 于 2015-1-9 21:34 编辑
说起大家玩板子,一开始应该都是那「永恒的流水灯」吧。我也捣鼓了捣鼓,发个帖作学习记录吧~上代码,C语言功力不够感觉代码写得有点乱
发表于 01-09 21:34
初代iPhone与初代Android智能手机大PK
日前YouTube频道EverythingApplePro上传了一段初代iPhone与初代Android手机G1的对比视频,大家可以看看当时的iOS 1.0和Android 1.0的面
发表于 12-11 22:44
•1486次阅读
iphone8或将回归初代设计,以水滴形设计以致初代iphone
著名的苹果新闻网站AppleInsider今天爆料,称iPhone 8将会采用“水滴状设计”,作为iPhone诞生的10周年产品,致敬初代iPhone。
发表于 03-23 16:50
•530次阅读
推出已经7年!苹果初代iPad Pro和2017新iPad性能分别有多大?
2010年4月3日,苹果开售初代iPad Pro,平板电脑走进人们日常生活之中,但iPad发行7年以来好景不常,可拆键盘笔电以及更大屏幕手机的竞争之下,iPad和其他平板电脑销量有点压缩,经过7年之后的新iPad,在性能上与初
发表于 04-07 14:21
•1.4w次阅读
初代 Pixel已下架 ,Pixel 2系列正式独担大旗
Google Pixel 2 系列自去年 10 月推出以来,虽然是一波三折,但整体评价都算是不错,前辈初代 Pixel 似乎也是时候功成身退了吧。有人发现到 Google Store 官方网店上,初
苹果将在2019年初发布AirPods二代
近日,业界著名分析师郭明池表示,苹果将在2019年初发布AirPods二代,这款产品在外观设计上与初代AirPods基本一致,但在功能上会有提升。
发表于 12-03 15:39
•3812次阅读
Google Pixel初代手机停止安全更新支持
谷歌初代Pixel和Pixel XL手机可能已经达到了安全停止支持期限。谷歌今天发布了其Pixel设备的更新,其中包含11月份安全更新以及一些针对一般生活质量更新。谷歌Pixel 2、3和4系列设备都可以接收OTA更新,但是Google Pixel
前苹果工程师初代iPhone生产线照片曝光
苹果推出初代iPhone是在2007年,当时那款屏幕只有3.5英寸的手机在今天看来“平平无奇”,但却真正打开了智能手机时代的大门。据外媒报道,前苹果工程师Bob Burrough日前放出了一张
linux 中 ACPI 电源管理 G 状态、S 状态、D 状态、C 状态、P 状态
ACPI 高级电源管理ACPI 中定义了 G、D、S、C、P 这 5 个大的电力状态。G 状态 Global system stateG 状态表示的是用户看到的整个系统的电力
发表于 01-05 14:12
•4次下载
评论