硬件設(shè)計(jì)師最常見(jiàn)的工作內(nèi)容是通過(guò)寫(xiě)代碼來(lái)測(cè)試硬件。這10個(gè)C語(yǔ)言技巧(C語(yǔ)言仍然是常見(jiàn)的選擇)可以幫助設(shè)計(jì)師避免因基礎(chǔ)性錯(cuò)誤而導(dǎo)致某些缺陷的產(chǎn)生并造成維護(hù)方面的困擾
在單片機(jī)的開(kāi)發(fā)應(yīng)用中,已逐漸開(kāi)始引入高級(jí)語(yǔ)言,C語(yǔ)言就是其中的一種。對(duì)用慣了匯編的人來(lái)說(shuō),總覺(jué)得高級(jí)語(yǔ)言’可控性’不好,不如匯編那樣隨心所欲。但是只要我們掌握了一定的C語(yǔ)言知識(shí),有些東西還是容易做出來(lái)的
1 引言 合成孔徑雷達(dá)SAR(Synthetic Aperture Radar)成像技術(shù)在軍事和國(guó)民經(jīng)濟(jì)中發(fā)揮著重要作用。SAR成像軟件平臺(tái)在國(guó)外已逐漸成熟,而國(guó)內(nèi)至今還沒(méi)有良好的SAR成像軟件平臺(tái)。SAR具有探測(cè)范圍廣、提供信息快,并可獲得
大家都知道C語(yǔ)言是整個(gè)嵌入式開(kāi)發(fā)學(xué)習(xí)中一門(mén)重要的語(yǔ)言,所以學(xué)好C語(yǔ)言也是嵌入式開(kāi)發(fā)學(xué)習(xí)中重要環(huán)節(jié)。到底如何學(xué)習(xí)C語(yǔ)言?C語(yǔ)言學(xué)習(xí)的秘訣是什么?今天本為就為大家揭開(kāi)這
作者:楊碩,華清遠(yuǎn)見(jiàn)嵌入式學(xué)院講師。 C語(yǔ)言為我們定義了四種基本數(shù)據(jù)類(lèi)型:整型,浮點(diǎn)型,指針以及聚合類(lèi)型(數(shù)組和結(jié)構(gòu)體等),在此基礎(chǔ)上,我們就可以聲明變量。我們平時(shí)經(jīng)常說(shuō)定義一個(gè)某種類(lèi)型的變量,其實(shí)這樣
作者:楊碩,華清遠(yuǎn)見(jiàn)嵌入式學(xué)院講師。 C語(yǔ)言的聲明存在的最大的問(wèn)題就是你無(wú)法以一種人們所習(xí)慣的自然方式從左到右閱讀一個(gè)聲明,程序員必須記住特殊的規(guī)則才能推斷出int *p[3]到底是一個(gè)int類(lèi)型的指針數(shù)組還是一個(gè)
作者:楊碩,華清遠(yuǎn)見(jiàn)嵌入式學(xué)院講師。 一.庫(kù)函數(shù)簡(jiǎn)介: C語(yǔ)言中有一些函數(shù)會(huì)執(zhí)行一些標(biāo)準(zhǔn)任務(wù),可以事先對(duì)這些函數(shù)進(jìn)行編譯,然后將他們放置在一些特殊的目標(biāo)代碼文件中,這些目標(biāo)代碼文件稱(chēng)為庫(kù)。 庫(kù)文件中的函數(shù)
作者:楊碩,華清遠(yuǎn)見(jiàn)嵌入式學(xué)院講師。C語(yǔ)言的設(shè)計(jì)哲學(xué)要求對(duì)象的聲明形式和它的使用形式盡可能相似,比如一個(gè)int類(lèi)型的指針數(shù)組被聲明為int *p[3];并以*p[i]這樣的表達(dá)式引用或者使用指針?biāo)赶虻膇nt數(shù)據(jù),所以它的
C語(yǔ)言實(shí)現(xiàn)查表跳轉(zhuǎn)程序.可以采用狀態(tài)機(jī)如 switch(state) { case1:state_fuc();break; case2:state_fuc();break; ......... 也可以用if...elseif......else..... 除了用switch或if判斷,還有匯編那種goto 下面這種采用
學(xué)過(guò)C語(yǔ)言的人都知道,main函數(shù)是程序啟動(dòng)的入口函數(shù),每一個(gè)C語(yǔ)言程序里有一個(gè)main函數(shù),在程序里它是唯獨(dú)一個(gè)不能被其他函數(shù)調(diào)用的特殊函數(shù)。在眾多的單片機(jī)C語(yǔ)言編譯器里對(duì)main函數(shù)的寫(xiě)法都沒(méi)有明
volatile的意思是易變的、可變的,作用是限制編譯器優(yōu)化某些變量。首先看一段C51程序: Keil在優(yōu)化級(jí)別是為8時(shí)得到如下匯編代碼(部分未列出): 可以看到,變量d的值賦給x,y,z時(shí),只有x中
一、c程序存儲(chǔ)空間布局 C程序一直由下列部分組成: 1)正文段——CPU執(zhí)行的機(jī)器指令部分;一個(gè)程序只有一個(gè)副本;只讀,防止程序由于意外事故而修改自身指令; 2)初始化數(shù)據(jù)段(數(shù)據(jù)段)——在程序中所有賦了初值的
假定從8位AD中讀取數(shù)據(jù)(如果是更高位的AD可定義數(shù)據(jù)類(lèi)型為int),子程序?yàn)間et_ad();1、限副濾波/* A值可根據(jù)實(shí)際情況調(diào)整 value為有效值,new_value為當(dāng)前采樣值 濾波程序返回有效的實(shí)際值 */#defin
volatile關(guān)鍵字是一種類(lèi)型修飾符,用它聲明的類(lèi)型變量表示可以被某些編譯器未知的因素更改。 用volatile關(guān)鍵字聲明的變量i每一次被訪問(wèn)時(shí),執(zhí)行部件都會(huì)從i相應(yīng)的內(nèi)存單元中取出i的值。 沒(méi)有用volatile關(guān)鍵字聲明的變
C語(yǔ)言中的ASSERT(斷言)宏是嵌入式軟件開(kāi)發(fā)人員可以使用的最好的調(diào)試工具之一。雖然ASSERT功能強(qiáng)大,但我很少看到它被實(shí)施,并且在一些使用它的案例中,它的實(shí)施要么是有瑕疵
在單片機(jī)應(yīng)用系統(tǒng)中,常用到許多復(fù)雜的數(shù)學(xué)計(jì)算,如計(jì)算sin(x)、cos(x)、有效值計(jì)算、非線性插值等。這些在高級(jí)語(yǔ)言中是簡(jiǎn)單的工作,而在單片機(jī)的匯編語(yǔ)言中卻是非常復(fù)雜的。因?yàn)?,這些運(yùn)算大都要用乘
作者:楊碩,華清遠(yuǎn)見(jiàn)嵌入式學(xué)院講師。 對(duì)指針的應(yīng)用是C語(yǔ)言編程的精髓所在,而回調(diào)函數(shù)就是C語(yǔ)言里面對(duì)函數(shù)指針的高級(jí)應(yīng)用。簡(jiǎn)而言之,回調(diào)函數(shù)是一個(gè)通過(guò)函數(shù)指針調(diào)用的函數(shù)。如果你把函數(shù)指針(函數(shù)的入口地址)傳
(1)硬件電路 利用4位LED數(shù)碼管顯示電路,可以制成24小時(shí)或12小時(shí)循環(huán)顯示的時(shí)鐘電路,且該時(shí)鐘可以由人工預(yù)置起始時(shí)刻,即電路插上電源后,可根據(jù)當(dāng)時(shí)的實(shí)時(shí)時(shí)刻,如手機(jī)或電視屏上顯示的時(shí)
標(biāo)準(zhǔn)的C語(yǔ)言中沒(méi)有空語(yǔ)句。但在單片機(jī)的C語(yǔ)言編程中,經(jīng)常需要用幾個(gè)空指令產(chǎn)生短延時(shí)的效果。這在匯編語(yǔ)言中很容易實(shí)現(xiàn),寫(xiě)幾個(gè)nop就行了。在keil C51中,直接調(diào)用庫(kù)函數(shù):
作者:楊碩,華清遠(yuǎn)見(jiàn)嵌入式學(xué)院講師。 要寫(xiě)好C語(yǔ)言,漂亮的宏定義是非常重要的。宏定義可以幫助我們防止出錯(cuò),提高代碼的可移植性和可讀性等。 在軟件開(kāi)發(fā)過(guò)程中,經(jīng)常有一些常用或者通用的功能或者代碼段,這些功能