<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機(jī)c語言中菜單系統(tǒng)源碼分析

          單片機(jī)c語言中菜單系統(tǒng)源碼分析

          作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
          最近在學(xué)習(xí)單片機(jī)菜單系統(tǒng)時,發(fā)現(xiàn)有這么一些代碼,定義了4個按鍵,確認(rèn)鍵,返回鍵,上鍵,下鍵,先貼出來在vc里邊建的,先定義一個結(jié)構(gòu)體KbdTabStruct,在用結(jié)構(gòu)體定義一個const型的數(shù)組KBD[],那么數(shù)組的每一個成員對應(yīng)的原本結(jié)構(gòu)體的數(shù)則是它的初始化值,并且這個值初始化后就成立,以后不再改變。比如說KBD[0].KeyCurrentIndex所對應(yīng)的則是數(shù)組table中成員0 的值,這些值就是它的初始化值,相當(dāng)于KBD[0].KeyCurrentIndex=0,但如果這樣寫N層的菜單,如此定義肯定麻煩,所以用這樣的數(shù)組實(shí)現(xiàn)。

          int main()
          {
          typedef struct
          {
          u8 KeyCurrentIndex;//當(dāng)前狀態(tài)索引號
          u8 KeyEnterState;//按下【enter】鍵時轉(zhuǎn)向的索引號
          u8 KeyCancelState;//按下【cancel】鍵時轉(zhuǎn)向的索引號
          u8 KeyUpState;//按下【up】鍵時轉(zhuǎn)向的索引號
          u8 KeyDownState;//按下【down】鍵時轉(zhuǎn)向的索引號
          void (*CurrentOperate)(); //當(dāng)前狀態(tài)下執(zhí)行的功能操作
          }KbdTabStruct;

          本文引用地址:http://www.ex-cimer.com/article/201611/322301.htm

          const KbdTabStruct KBD[]=
          {
          {0,1,2,3,4,(*main)},
          {6,7,8,9,10,(*main)},
          {0,1,2,3,4,,(*main)},
          {0,1,2,3,4,(*main)},
          };
          printf("%d",KBD[0].KeyCurrentIndex);
          printf("%d",KBD[0].KeyEnterState);
          printf("%d",KBD[0].KeyCancelState);
          printf("%d",KBD[0].KeyUpState);
          printf("%d",KBD[0].KeyDownState);
          printf("%d",KBD[1].KeyCurrentIndex);
          printf("%d",KBD[1].KeyEnterState);
          printf("%d",KBD[1].KeyCancelState);
          printf("%d",KBD[1].KeyUpState);
          printf("%d",KBD[1].KeyDownState);
          printf("%5s",KBD[0].CurrentOperate);

          }



          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();