久久成人国产精品一区二区,在线观看成人网站,精品久久久久久成人AV,国产成人无码免费网站

電子開發網

電子開發網電子設計 | 電子開發網Rss 2.0 會員中心 會員注冊
搜索: 您現在的位置: 電子開發網 >> 電子開發 >> 嵌入式系統 >> ARM >> 正文

ARM C嵌入式編程

作者:佚名    文章來源:本站原創    點擊數:    更新時間:2008/11/28

護和恢復的需要;

3、編寫中斷服務程序的一些基本原則:
     √避免在中斷服務程序中做浮點運算:好的終端讀物程序應該遵循短小有效這一原則,在中斷服務程序中做浮點運算大大違背這一原則,同時有些處理器/編譯器就是不允許在中斷服務程序中做浮點運算;
     √中斷服務程序不能有返回值:所以中斷服務程序都定義為返回類型為void,即:void _irq Eint0_ISR(void);
     √中斷服務函數不能傳遞參數:故參數列表為void,即:void _irq Eint0_ISR(void);
4、Static:
     一個static變量,其實就是全局變量,只不過它有作用域,它可用于保存變量所在函數被類此調用期間的中間狀態,比如:
int cCout()
{
Static int loop = 0;
.......
loop++;
.......
  }
     loop變量的值會跟隨著函數的調用次數而遞增,函數退出后,loop的值還存在,只是loop只能在函數中才能被訪問(函數作用域),而loop的內存空間也只會在函數第一次被調用時才會被分配和初始化,以后每次進入函數,都不為static分配了,而直接使用上一次的值。在模塊內,一個被聲明為靜態的函數只可被這一模塊內的其他函數調用,模塊外其它函數無權訪問,是一個本地全局變量。

5、Constant:
     將一個變量或對象定義成constant類型,則定義之后不能被更新(可讀不可寫),即在定義或說明類型時必須給他一個初始值。
     幾種須要注意的地方:
     √如果const位于星號(*)的左側,則const修飾指針所指向的變量,即指針指向常量;如:const int *a; 或int const *a;這兩種情況相同(cost放在變量聲明符的位置無關),指針指向一個常量,此時不能對內容進行更改,即不能有寫操作語句*a=3;
     √如果cost位于型號的右側,cost就是修飾指針本身,即指針本身是常量;如:int* const a;語句表示指針本身是常量,所指向內容不是常量,即a++是錯誤的。
     √如果星號左右側都有const修飾,如:const int* const a;表示指針本身和指針指向的內容均為常量。

6.、Volatile:
     定義一個易失性變量,編譯器有一種技術叫數據流分析,分析程序中的變量在哪里被賦值、在哪里使用、在哪里失效,分析結果可以用于常量合并,常量傳播等優化。當編譯器檢查到代碼沒有修改字段的值,就有可能在你訪問字段時提供上次訪問的緩存值,這能夠提高程序的效率,但有時這些優化會帶來問題,不是我們程序所需要的,特點是對硬件寄存器操作的程序,這時可以用volatile關鍵字禁止做這些優化。
     使用volatile變量的場合:
     √硬件寄存器通常要加volatile說明,因為每次對它的讀寫都可能有不同的意義;
     √在中斷服務程序中修改的供其他程序檢測用的變量需要加volatile聲明;否則編譯器可能對變量更新一次后每次都使用緩存值不再立即更新;
     √多任務環境下各任務間共享的標志應該加voatile關鍵字:在多線程訪問某字段時,代碼希望這些訪問能夠操作到操作(讀取)到字段的最新值,同時寫到變量的操作能立即更新;對字段加上volatile關鍵字,那么對該字段的任何請求(讀/寫)都會立刻得到執行。

Tags:ARM,C語言,嵌入式,編程  
責任編輯:admin
  • 上一篇文章:
  • 下一篇文章:
  • 請文明參與討論,禁止漫罵攻擊,不要惡意評論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個字
    [ 查看全部 ] 網友評論
    關于我們 - 聯系我們 - 廣告服務 - 友情鏈接 - 網站地圖 - 版權聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    久久成人国产精品一区二区,在线观看成人网站,精品久久久久久成人AV,国产成人无码免费网站
    <li id="8g3ty"><tbody id="8g3ty"><th id="8g3ty"></th></tbody></li>
    <label id="8g3ty"><samp id="8g3ty"></samp></label>
  • <span id="8g3ty"></span>

    1. <center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
    2. <bdo id="8g3ty"><meter id="8g3ty"><bdo id="8g3ty"></bdo></meter></bdo><center id="8g3ty"><optgroup id="8g3ty"></optgroup></center>
      <label id="8g3ty"><samp id="8g3ty"></samp></label>

    3. 主站蜘蛛池模板: 亚洲一区二区精品在线| 影音先锋一区| 国产欧美一区二区精品性 | 久久网站免费| 美脚丝袜一区二区三区在线观看 | 国产精品国产亚洲精品看不卡15 | 在线观看欧美日韩| 亚洲经典视频在线观看| 日韩亚洲欧美综合| 亚洲少妇诱惑| 午夜精品99久久免费| 久久精品夜色噜噜亚洲a∨| 久久综合国产精品| 欧美日本国产一区| 国产精品分类| 国产一区二区三区四区老人| 亚洲二区在线观看| 一区二区三区产品免费精品久久75 | 99国产精品99久久久久久粉嫩| 亚洲午夜一区二区| 久久精品国产99国产精品| 欧美a级片网| 欧美视频在线一区| 国内精品视频一区| 亚洲精品一区在线观看| 亚洲在线观看| 鲁大师影院一区二区三区| 欧美人成免费网站| 国产欧美一区二区三区在线老狼| 在线观看欧美| 中文网丁香综合网| 久久免费99精品久久久久久| 欧美美女操人视频| 国产区在线观看成人精品| 亚洲国产欧美国产综合一区| 亚洲天堂视频在线观看| 久久婷婷蜜乳一本欲蜜臀| 欧美色大人视频| 激情综合自拍| 亚洲一区二区在线视频| 免费日韩一区二区|