日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

        歡迎訪問 生活随笔!

        生活随笔

        當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

        windows

        嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件

        發(fā)布時間:2023/12/18 windows 35 豆豆
        生活随笔 收集整理的這篇文章主要介紹了 嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

        《嵌入式系統(tǒng)C語言編程基礎(chǔ)PPT課件》由會員分享,可在線閱讀,更多相關(guān)《嵌入式系統(tǒng)C語言編程基礎(chǔ)PPT課件(81頁珍藏版)》請在人人文庫網(wǎng)上搜索。

        1、嵌入式系統(tǒng)C語言編程基礎(chǔ),楊高波,SNBC,.2,目錄,關(guān)于本課程 C語言復(fù)習(xí) 編程規(guī)范 開發(fā)高效程序的技巧,.3,為什么學(xué)習(xí)本課程,會C語法與會用C語言寫程序是兩個概念 C的靈活性以及由此而產(chǎn)生的陷阱非常多 The Most Beautiful Language and Most Dangerous Language in the Programming World! 本課程將嵌入式系統(tǒng)中最基本的(最經(jīng)常用到的)概念與技巧介紹給大家,.4,小測驗?,.5,Quiz 1,所有嵌入式系統(tǒng)的主流程最后都進入一個死循環(huán),怎樣用C語言實現(xiàn)一個死循環(huán)?,.6,Quiz 2,while().和do.whi。

        2、le()有什么區(qū)別?,.7,Quiz 3,用變量a給出下列定義: 一個整型數(shù) 一個指向整型數(shù)的指針 一個有10個整型數(shù)的的數(shù)組 一個有10個指針的數(shù)組,該指針是指向一個整型數(shù)的,.8,Quiz 4,關(guān)鍵字static的作用是什么?,.9,Quiz 5,關(guān)鍵字const的作用是什么?,.10,Quiz 6,定義一個標(biāo)準(zhǔn)宏MIN ,這個宏輸入兩個參數(shù)并返回較小的一個。,.11,Quiz 7,嵌入式系統(tǒng)中經(jīng)常要對變量或寄存器進行位操作。給定一個int型變量a,寫兩段代碼,第一個將a的bit 3置為1,第二個將a的bit 3置為0。以上兩個操作中,要保持其它位不變。,.12,Quiz 8,嵌入式系統(tǒng)具。

        3、有經(jīng)常去直接訪問物理地址的特點。在某工程中,要求設(shè)置一絕對地址為0 x5a00 的整型變量的值為0 xaa55。寫代碼去完成這一任務(wù)。,.13,Quiz 9,下面這段代碼的輸出是什么? void foo(void) unsigned int a = 6; int b = -20; (a+b 6) ? puts(6) : puts( 2;,左移,右移,.59,C語言復(fù)習(xí),1)循環(huán)與分支 2)作用域與存儲類 3)內(nèi)存與指針 4)位操作 5)預(yù)編譯處理,.60,預(yù)編譯處理,C編譯系統(tǒng)在對程序進行編譯之前,先進行預(yù)處理。C提供的預(yù)處理功能主要有以下三種: 宏定義 文件包含 條件編譯,.61,預(yù)編譯處理。

        4、,1)宏定義 類對象宏 例:#define STX 0 x02 類函數(shù)宏 例:#define SQUARE(x) (x)*(x) 幾點說明: a.宏定義不是C語句,不在行末加分號; b.宏名有效范圍為從定義處到本源文件結(jié)束; c.在宏定義時,可以引用已經(jīng)定義的宏名; d.宏替換不占運行時間,只占編譯時間;,.62,預(yù)編譯處理,2)文件包含:#include 預(yù)處理器發(fā)現(xiàn)#include后,就會尋找后跟的這個文件并把這個文件的內(nèi)容復(fù)制到當(dāng)前位置替換#include指令; 使用#include指令的一些例子:,.63,預(yù)編譯處理,3)條件編譯 條件編譯指不對整個程序編譯,而是編譯滿足條件的那部分。。

        5、條件編譯有以下幾種形式: a. #ifdef 標(biāo)識符 程序段1; #else 程序段2; #endif 它的作用:當(dāng)標(biāo)識符在前面已經(jīng)定義過,則對程序段1進行編譯,否則對程序段2進行編譯。,.64,預(yù)編譯處理,b. #ifndef 標(biāo)識符 程序段1; #else 程序段2; #endif 它的作用和#ifdef相反,當(dāng)標(biāo)識符之前沒被定義過,則對程序段1進行編譯,否則就對程序段2進行編譯。,.65,預(yù)編譯處理,c. #if 表達式 程序段1; #else 程序段2; #endif 它的作用:當(dāng)表達式的值為真時,對程序段1進行編譯,都則就對程序段2進行編譯;,.66,預(yù)編譯處理,舉例,下面是某工程中。

        6、.h文件中的一段程序,請說明#ifndef/#define/#endif結(jié)構(gòu)的作用。 #ifndef DEF_H #define DEF_H #include #include “graphics.h” . #endif,防止頭文件被重復(fù)引用,.67,編程規(guī)范,.68,編程規(guī)范,1)規(guī)范的作用 改善代碼質(zhì)量 提高開發(fā)速度 增進團隊精神 養(yǎng)成良好習(xí)慣,.69,編程規(guī)范,2)編程規(guī)范 養(yǎng)成良好的編程習(xí)慣,.70,開發(fā)高效程序的技巧,.71,開發(fā)高效程序的技巧,1)ARM編程中局部變量的使用 舉例,請看一面一段程序: int checksum(int *data) char i; . for(i=0。

        7、;i NUM) currentFocus = 0; LcdDisplay(menucurrentFocus.text); break; ,.79,開發(fā)高效程序的技巧,5)Bug的修正 別急著改,想想,再想想,想清楚了再動手; 考慮所做的修改是否對系統(tǒng)造成新的影響; 考慮是否對全局?jǐn)?shù)據(jù)結(jié)構(gòu)或其他人的代碼造成影響; 修改完了,應(yīng)該有詳細(xì)的代碼注釋和文檔,并對修改過的代碼進行測試。,.80,一些有益的建議,長期堅持好的Coding Style; 避免編寫技巧性很高的代碼; 長期堅持良好的文檔寫作習(xí)慣; 不要崇拜那些獨來獨往、不受約束且?guī)c邪氣的所謂“真正的編程高手”; 基礎(chǔ)最重要,堅持學(xué)習(xí),天天向上。,.81,謝謝。

        總結(jié)

        以上是生活随笔為你收集整理的嵌入式C语言编程课件,嵌入式系统C语言编程基础PPT课件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

        如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。