最近學習了一些框架的使用,發現寫框架的大佬確實牛逼,有些東西存在很久了卻沒什么人注意,一旦大佬寫成了一個框架,用起來確實真香!
| 理念
在框架中都會有個集中式狀態管理工具,它采用集中式存儲管理應用的所有組件的狀態,并以相應的規則保證狀態以一種可預測的方式發生變化!借鑒這個理念,實現對嵌入式項目進行集中式狀態管理,下面是初代版的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瀏覽量
9221
原文標題:框架|集中式狀態管理
文章出處:【微信號:玩轉單片機,微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
【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
?1507次閱讀
iphone8或將回歸初代設計,以水滴形設計以致初代iphone
著名的蘋果新聞網站AppleInsider今天爆料,稱iPhone 8將會采用“水滴狀設計”,作為iPhone誕生的10周年產品,致敬初代iPhone。
發表于 03-23 16:50
?549次閱讀
推出已經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
?3883次閱讀
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次下載
評論