24小時(shí)聯(lián)系電話:18217114652、13661815404
中文
技術(shù)專題
為什么要嵌入C?
為什么要嵌入C?
嵌入式C是C語(yǔ)言的一種變體,旨在支持嵌入式系統(tǒng)上的編程。它由于C語(yǔ)言的局限性而出現(xiàn)。
根據(jù)維基百科的說法:“嵌入式C編程通常需要對(duì)C語(yǔ)言進(jìn)行非標(biāo)準(zhǔn)擴(kuò)展,以支持增強(qiáng)的微處理器功能,例如定點(diǎn)算術(shù),多個(gè)不同的存儲(chǔ)體以及基本的I
/ O操作。”
C的局限性
C在用于微控制器時(shí)有一些限制-
C不支持直接訪問寄存器,也不支持讀取和設(shè)置單個(gè)位。
C不支持中斷服務(wù)代碼。
C不提供堆棧支持。
嵌入式C的功能
嵌入式C的功能使其成為嵌入式系統(tǒng)開發(fā)的資產(chǎn)-
允許控制ON和OFF –芯片外圍設(shè)備。
幫助充分利用基于RISC架構(gòu)的有限的微控制器指令集。
幫助處理中斷。
允許進(jìn)行高級(jí)優(yōu)化,從而有助于節(jié)省代碼空間(這在嵌入式系統(tǒng)中已經(jīng)是一個(gè)限制)。
嵌入式C在Extra中具有什么功能?
“ C”語(yǔ)言編譯器已擴(kuò)展為包括新的關(guān)鍵字,以訪問微控制器中絕對(duì)位置的寄存器和變量。因此,它為嵌入式系統(tǒng)開發(fā)提供了更好的支持。添加了諸如INTERRUPT,AT等的關(guān)鍵字。
在幕后,它包含了用于子程序的CALL和RET或用于微控制器的ISR的特定指令。
它還支持微控制器上存在的PORT和PINS枚舉,還允許您訪問和設(shè)置各個(gè)位以配置各種外設(shè)。
嵌入式C支持示例
每個(gè)微控制器都提供自己的庫(kù)集,以支持其在Embedded C中的編碼。
AVR庫(kù)
例如,如果要編碼AVR微控制器,則可以使用AVR Libc軟件包,該軟件包為Atmel AVR 8位RISC微控制器提供了標(biāo)準(zhǔn)C庫(kù)的子集。此外,該庫(kù)提供了大多數(shù)應(yīng)用程序所需的基本啟動(dòng)代碼