嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件
《嵌入式系統C語言編程基礎PPT課件》由會員分享,可在線閱讀,更多相關《嵌入式系統C語言編程基礎PPT課件(81頁珍藏版)》請在人人文庫網上搜索。
1、嵌入式系統C語言編程基礎,楊高波,SNBC,.2,目錄,關于本課程 C語言復習 編程規范 開發高效程序的技巧,.3,為什么學習本課程,會C語法與會用C語言寫程序是兩個概念 C的靈活性以及由此而產生的陷阱非常多 The Most Beautiful Language and Most Dangerous Language in the Programming World! 本課程將嵌入式系統中最基本的(最經常用到的)概念與技巧介紹給大家,.4,小測驗?,.5,Quiz 1,所有嵌入式系統的主流程最后都進入一個死循環,怎樣用C語言實現一個死循環?,.6,Quiz 2,while().和do.whi。
2、le()有什么區別?,.7,Quiz 3,用變量a給出下列定義: 一個整型數 一個指向整型數的指針 一個有10個整型數的的數組 一個有10個指針的數組,該指針是指向一個整型數的,.8,Quiz 4,關鍵字static的作用是什么?,.9,Quiz 5,關鍵字const的作用是什么?,.10,Quiz 6,定義一個標準宏MIN ,這個宏輸入兩個參數并返回較小的一個。,.11,Quiz 7,嵌入式系統中經常要對變量或寄存器進行位操作。給定一個int型變量a,寫兩段代碼,第一個將a的bit 3置為1,第二個將a的bit 3置為0。以上兩個操作中,要保持其它位不變。,.12,Quiz 8,嵌入式系統具。
3、有經常去直接訪問物理地址的特點。在某工程中,要求設置一絕對地址為0 x5a00 的整型變量的值為0 xaa55。寫代碼去完成這一任務。,.13,Quiz 9,下面這段代碼的輸出是什么? void foo(void) unsigned int a = 6; int b = -20; (a+b 6) ? puts(6) : puts( 2;,左移,右移,.59,C語言復習,1)循環與分支 2)作用域與存儲類 3)內存與指針 4)位操作 5)預編譯處理,.60,預編譯處理,C編譯系統在對程序進行編譯之前,先進行預處理。C提供的預處理功能主要有以下三種: 宏定義 文件包含 條件編譯,.61,預編譯處理。
4、,1)宏定義 類對象宏 例:#define STX 0 x02 類函數宏 例:#define SQUARE(x) (x)*(x) 幾點說明: a.宏定義不是C語句,不在行末加分號; b.宏名有效范圍為從定義處到本源文件結束; c.在宏定義時,可以引用已經定義的宏名; d.宏替換不占運行時間,只占編譯時間;,.62,預編譯處理,2)文件包含:#include 預處理器發現#include后,就會尋找后跟的這個文件并把這個文件的內容復制到當前位置替換#include指令; 使用#include指令的一些例子:,.63,預編譯處理,3)條件編譯 條件編譯指不對整個程序編譯,而是編譯滿足條件的那部分。。
5、條件編譯有以下幾種形式: a. #ifdef 標識符 程序段1; #else 程序段2; #endif 它的作用:當標識符在前面已經定義過,則對程序段1進行編譯,否則對程序段2進行編譯。,.64,預編譯處理,b. #ifndef 標識符 程序段1; #else 程序段2; #endif 它的作用和#ifdef相反,當標識符之前沒被定義過,則對程序段1進行編譯,否則就對程序段2進行編譯。,.65,預編譯處理,c. #if 表達式 程序段1; #else 程序段2; #endif 它的作用:當表達式的值為真時,對程序段1進行編譯,都則就對程序段2進行編譯;,.66,預編譯處理,舉例,下面是某工程中。
6、.h文件中的一段程序,請說明#ifndef/#define/#endif結構的作用。 #ifndef DEF_H #define DEF_H #include #include “graphics.h” . #endif,防止頭文件被重復引用,.67,編程規范,.68,編程規范,1)規范的作用 改善代碼質量 提高開發速度 增進團隊精神 養成良好習慣,.69,編程規范,2)編程規范 養成良好的編程習慣,.70,開發高效程序的技巧,.71,開發高效程序的技巧,1)ARM編程中局部變量的使用 舉例,請看一面一段程序: int checksum(int *data) char i; . for(i=0。
7、;i NUM) currentFocus = 0; LcdDisplay(menucurrentFocus.text); break; ,.79,開發高效程序的技巧,5)Bug的修正 別急著改,想想,再想想,想清楚了再動手; 考慮所做的修改是否對系統造成新的影響; 考慮是否對全局數據結構或其他人的代碼造成影響; 修改完了,應該有詳細的代碼注釋和文檔,并對修改過的代碼進行測試。,.80,一些有益的建議,長期堅持好的Coding Style; 避免編寫技巧性很高的代碼; 長期堅持良好的文檔寫作習慣; 不要崇拜那些獨來獨往、不受約束且帶點邪氣的所謂“真正的編程高手”; 基礎最重要,堅持學習,天天向上。,.81,謝謝。
總結
以上是生活随笔為你收集整理的嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: linux c 符号表,C中的符号表
- 下一篇: c语言ascw,VBS中的Asc/Asc
