想要做ARM開發(fā),C語言絕對是重中之重,在這方面是是沒有捷徑可以走的,這篇文章為大家收集了論壇的優(yōu)秀C語言初級文章,希望對新人有所幫助。
1、嵌入式應用程序的C編程語言簡介
按照現(xiàn)代技術(shù)的標準,C是一種相當古老的語言。最初的開發(fā)發(fā)生在70年代初,隨后在70年代后期進行了修訂,并在80年代實現(xiàn)了標準化。但是,我認為它沒有失去活力。對于嵌入式應用程序而言,它仍然是一門偉大的語言,以我的經(jīng)驗,它是適用于從簡單的基于微控制器的設(shè)備到復雜的數(shù)字信號處理等所有內(nèi)容的編程環(huán)境。
2、了解C編程中的變量
我們中的許多人早在對計算機編程了解甚多之前就已經(jīng)在數(shù)學課上聽說過“變量”一詞。數(shù)學變量是其值未知或不限于一個數(shù)值的數(shù)量。這種用法類似于C變量的概念,盡管不盡相同。兩個重要的區(qū)別是:首先,在數(shù)學中,我們通常使用諸如x或y之類的字母表示變量,而在C中,我們經(jīng)常使用諸如temperature,MaxValue或Number_of_Samples之類的描述性單詞或短語。其次,在某些情況下,我們使用C變量來標識一個既已知又無意與原始值不同的數(shù)量。
3、了解C編程中的數(shù)組
嵌入式系統(tǒng)經(jīng)常處理自然屬于一個組而不是獨立變量集合的數(shù)據(jù)。一個容易想到的例子是一系列與模擬波形的數(shù)字化版本相對應的值。其他示例包括將被串行化并發(fā)送到液晶顯示器的字節(jié),必須分析或傳輸到不同設(shè)備進行處理的一連串測量結(jié)果,以及構(gòu)成UART消息的一小組ASCII字符。
在某些情況下,盡管很尷尬,還是有可能將此數(shù)據(jù)存儲在單獨的變量中,例如ADC_value1,ADC_value2,ADC_value3等。但是,通常使用單個變量是完全不切實際的。幸運的是,C語言提供了一種簡單而高效的方式來處理大型(或小型)變量組。我在這里指的功能稱為數(shù)組。
4、C編程中的指針:什么是指針,它做什么?
什么是指針?指針是變量。像其他變量一樣,它具有數(shù)據(jù)類型和標識符。但是,使用指針的方式與使用“普通”變量的方式根本不同,并且必須使用星號告訴編譯器應該將變量視為指針。
5、C編程中的函數(shù)是什么?
每個C程序都有一個main()函數(shù)。當然,有可能編寫一個成功的程序,其中唯一的功能是main()。我的猜測是已經(jīng)做過很多次了,確實在某些簡單的應用程序中不需要其他功能。
但是,功能的廣泛使用表明編寫代碼的人是經(jīng)驗豐富的固件開發(fā)人員。為什么?因為函數(shù)使我們能夠更快地編寫更好的代碼,從而減少工作量并減少錯誤。對于那些花費大量時間編寫固件的人來說,這些優(yōu)勢是不容忽視的。即使我們起初因為似乎需要更多工作而拒絕使用功能,但經(jīng)驗逐漸告訴我們,好處遠大于成本。
6、如何將功能整合到嵌入式固件中
像各種其他形式的組織一樣,職能最初需要付出額外的努力和深謀遠慮。但是,從長遠來看,如果我們養(yǎng)成編寫包括大量使用函數(shù)的代碼的習慣,那么我們將節(jié)省時間和精力,更不用說增加壓力了。
毫無疑問,拿走我收到的每份文件并將其放在散落在我辦公桌上的幾堆紙中的其中一堆上,感覺很“容易”。最終,盡管堆砌得很整齊并用便簽貼了標簽,但這種簡單的組織方案最終會帶來各種困難。同樣,當我考慮固件項目時,似乎到工作原型的最直接,最輕松的途徑是一個相對“無功能”的源文件,它完全可以滿足我的需要,而沒有其他任何作用。有時,這種方法很有意義,但總的來說,我認為這是一種短視的解決方案。
7、如何在C語言固件中使用指針
在本文中,我們將討論指針運算符,指針算術(shù),以及兩種可以改善代碼的情況。
8、在C語言固件中使用功能的五個技巧
在本文中,我們將通過一些附加信息和一些有用的實現(xiàn)技術(shù)來結(jié)束對C函數(shù)的探索。
基本的C函數(shù)(例如,一個或兩個參數(shù)和一個返回值)并不復雜。但是,C函數(shù)非常靈活,通過超越基礎(chǔ)知識,您可以更輕松地編寫代碼,并將一些有益的特性引入固件。
希望上面八篇文章,對大家學習C語言有所幫助,怕什么知識無窮,進一寸有一寸的歡喜!
-
ARM
+關(guān)注
關(guān)注
134文章
9027瀏覽量
366439 -
c編程
+關(guān)注
關(guān)注
0文章
94瀏覽量
29336
發(fā)布評論請先 登錄
相關(guān)推薦
評論