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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 單片機C51編程規(guī)范

          單片機C51編程規(guī)范

          作者: 時間:2011-05-05 來源:網(wǎng)絡 收藏

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

          8.6 switch語句
          l 每個case和其判據(jù)條件獨占一行。
          l 每個case程序塊需用break結束。特殊情況下需要從一個case塊順序執(zhí)行到下一個case塊的時候除外,但需要在交界處明確注釋如此操作的原因,以防止出錯。
          l case程序塊之間空一行,且只空一行。
          l 每個case程序塊的執(zhí)行語句保持4個空格的縮進。
          l 一般情況下都應該包含default分支。
          Switch ( )
          {
          case x:

          break;

          case x:

          break;

          default:

          break;
          }

          9 -程序結構

          9.1 基本要求
          l 有main()函數(shù)的.c文件應將main()放在最前面,并明確用void聲明參數(shù)和返回值。
          l 對由多個.c文件組成的模塊程序或完整監(jiān)控程序,建立公共引用頭文件,將需要引用的庫頭文件、標準寄存器定義頭文件、自定義的頭文件、全局變量等均包含在內(nèi),供每個文件引用。通常,標準函數(shù)庫頭文件采用尖角號 >標志文件名,自定義頭文件采用雙撇號″″標志文件名。
          l 每個.c文件有一個對應的.h文件,.c文件的注釋之后首先定義一個唯一的文件標志宏,并在對應的.h文件中解析該標志。
          在.c文件中:
          #define FILE_FLAG
          在.h文件中:
          #ifdef FILE_FLAG
          #define XXX
          #else
          #define XXX extern
          #endif
          l 對于確定只被某個.c文件調(diào)用的定義可以單獨列在一個頭文件中、單獨調(diào)用。

          9.2 可重入函數(shù)
          可重入函數(shù)中若使用了全局變量,應通過關中斷、信號量等操作手段對其加以保護。

          9.3 函數(shù)的形參
          l 由函數(shù)調(diào)用者負責檢查形參的合法性。
          l 盡量避免將形參作為工作變量使用。

          9.4 循環(huán)
          l 盡量減少循環(huán)嵌套層數(shù)
          l 在多重循環(huán)中,應將最忙的循環(huán)放在最內(nèi)層
          l 循環(huán)體內(nèi)工作量最小
          l 盡量避免循環(huán)體內(nèi)含有判斷語句


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();