首先肯定一點的是學(xué)習(xí)單片機(jī)不需要先學(xué)好C語言再去學(xué)單片機(jī),而是在學(xué)習(xí)單片機(jī)的過程中可以促進(jìn)C語言的學(xué)習(xí)!
我在學(xué)習(xí)單片機(jī)時對C語言也只是了解其皮毛,我對C語言比較深刻的了解是在學(xué)習(xí)單片機(jī)過程中逐漸形成的。通過編寫簡單的小程序慢慢驗證C語言語句的各種執(zhí)行情況,比如在學(xué)習(xí)for循環(huán)語句時,我們可以用流水燈的循環(huán)來驗證;學(xué)習(xí)數(shù)組時我們可以用數(shù)碼管來驗證;學(xué)習(xí)c語言指針時我們可以用LCD1602液晶讓其顯示字符串來驗證等等。那怕就是C語言的復(fù)合語句表達(dá)式,也是可以用一個或者兩個LED燈顯示亮滅情況來驗證這個句語的邏緝關(guān)系的。
所以單片機(jī)的學(xué)習(xí)和C語言的學(xué)習(xí)可以是同時進(jìn)行的,兩者是互相促進(jìn)相輔相承的關(guān)系,單片機(jī)本身及其外設(shè)可以用C程序控制,而C程序控制單片機(jī)及其外設(shè)反而又使我們對硬件的進(jìn)一步加深了理解,在兩者同時學(xué)習(xí)的過程中我們又鍛煉了對程序調(diào)試的能力,也就是提升了我們發(fā)現(xiàn)問題解決問題的能力!所以我建議學(xué)習(xí)單片機(jī)的朋友在學(xué)習(xí)C語言和單片機(jī)的選擇上要同時進(jìn)行,以上就是我學(xué)習(xí)單片機(jī)時的體會
學(xué)習(xí)單片機(jī)可以不先學(xué)習(xí)c語言,但是對于單片機(jī),學(xué)習(xí)c語言又是最好的途徑,操作單片機(jī)的c語言叫做keil c。
一般,學(xué)習(xí)單片機(jī)時候,都是從單片機(jī)的內(nèi)存結(jié)構(gòu),引腳作用,各個模塊功能來學(xué)習(xí)的,這個時候,會先學(xué)習(xí)一門底層語言叫做匯編,這是一個能操作到內(nèi)存單元和寄存器的語言,但是過于復(fù)雜和繁瑣。c語言操作單片機(jī)的優(yōu)勢在于它屬于一門高級語言,比較易于理解,便于編寫,而且單片機(jī)也會加深你對c語言的底層理解,所以說是學(xué)習(xí)單片機(jī)的一門比較好的語言。
如果你要打算做單片機(jī),C語言你是早晚都需要學(xué)好的,但是并不需要把C語言學(xué)的非常好再去學(xué)單片機(jī),把C語言基本語法和數(shù)據(jù)類型(基本數(shù)據(jù)類型和復(fù)合數(shù)據(jù)類型)學(xué)好,就差不多了。我覺得開始時候?qū)WC語言主要是為學(xué)單片機(jī),方便做實驗服務(wù)的,畢竟你要做單片機(jī)實驗再用匯編就太沒效率了,另外純匯編編程以后基本不會再用到了。學(xué)單片機(jī)的核心還是單片機(jī)的接口和技術(shù),比如IO原理、USART等通信接口、中斷、內(nèi)存分配、數(shù)據(jù)總線和時鐘樹、低功耗,以及一些電路知識等等,這些基礎(chǔ)打好后在逐漸提高難度,比如TCPIP、文件系統(tǒng)、RTOS等。對做單片機(jī)來說,C語言是為單片服務(wù)的,C語言基礎(chǔ)學(xué)好后,工作學(xué)習(xí)中遇到問題有目的的去更深度的學(xué)C語言,以及操作系統(tǒng)原理、編譯原理、TCPIP協(xié)議等,在單片機(jī)和PC系統(tǒng)上的C語言編程思想是不一樣的。總之兩者是相輔相成循序漸進(jìn)的,比如你用簡單的51單片機(jī)可能你根本不需要多少C語言水平就夠了,但是你如果用M7核的肯定需要的C語言水平就高了去了才能發(fā)揮它的性能。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44558瀏覽量
635298 -
C語言
+關(guān)注
關(guān)注
180文章
7604瀏覽量
136824
發(fā)布評論請先 登錄
相關(guān)推薦
評論