標題:
單片機是不是所有芯片都可以用C語言編寫?
[打印本頁]
作者:
czd175711
時間:
2019-6-16 00:06
標題:
單片機是不是所有芯片都可以用C語言編寫?
我在論壇上面見到的代碼基本都是用C來寫的,那是不是所以芯片都可以用C來寫,而且匯編語言用在哪里?它們兩者的有什么優(yōu)缺點?小白在線提問....
作者:
xing1954
時間:
2019-6-16 04:31
這個要看是否有編譯與下載器。
作者:
xianfajushi
時間:
2019-6-16 06:25
就我的一知半解來說都是可以用C語言寫的,匯編只是最初期的一種語言,編譯器最終都轉(zhuǎn)為二進制碼給單片機去執(zhí)行,單片機只能識別二進制命令,匯編的缺點是閱讀不便,C語言的有點是接近人的自然語言習慣,語言發(fā)展到后面就越接近人的自然思維習慣。
作者:
zhang1116quan
時間:
2019-6-16 15:27
匯編一般用在啟動文件
作者:
帶智帶勇
時間:
2019-6-16 22:10
匯編語言可以對某一位進行操作
作者:
15936529590
時間:
2019-6-17 10:57
在單片機一般都不寫匯編語言,直接用c語言就行了
作者:
15936529590
時間:
2019-6-17 11:07
一般情況下是可以的,但有時候c語言和單片機不匹配
作者:
yzwzfyz
時間:
2019-6-17 14:50
計算機只能識別機器碼,即0101,根據(jù)這些有序排列的機器碼的含義(即硬件指令=這些機器碼),來運行程序。任何語言的程序最終都必須轉(zhuǎn)成機器碼,否則計算機不認識。
但0101的機器碼太不方便記意了。于是就用方便記意的語句代替它,這就產(chǎn)生了兩個問題:
1、用什么語句替代機器碼?
2、誰把它再譯回到機器碼?
計算機是外國人發(fā)明的,自然用了英文的語句,不過又帶來了一個新的問題:
一個語句替代多少條機器碼指令?這是回答你問題的關鍵了:
匯編語言:一個語句替代一條機器碼指令,因此它最接近機器碼,最靈活,也最難掌握。
C語言:一個語句替代一條或多機器碼指令,因此它效率高,但不靈活。
至于“誰把它再譯回到機器碼?”,編程平臺幫你完成了,最常用的“翻譯”是KELL。
明白上述的道理后,就會明白:
C是由若干條匯編語句組成的。但這些,用C的人看不出來,因為C不關心匯編,就沒有必要展示給你看,不過想看也看得到,每次對C程序編譯時,也會生成匯編代碼。
由于C建立在匯編的基礎上,所以它的規(guī)矩多且嚴格,稍不小心,平臺就不認識,C語言強力地依賴庫函數(shù)(各種子程序),但通俗易懂易掌握。
匯編則只依據(jù)CPU的指令系統(tǒng)寫程序,天馬行空,任君游。但要求程序員有很強的邏輯、數(shù)學水平。
例如:開方。對C語言是一句話的事,而匯編,如你沒有很好的數(shù)學基礎,是根本無法想像得出來的。不過最終的機器碼目標還是一致的。雖然C是一語話的事,也是由匯編寫而來的,只不過不需要你寫,而是前輩們用匯編寫好了,做成了C函數(shù)庫,你直接引用就可以了。
記。河嬎銠C、單片機只認識機器碼!
作者:
保羅喬治
時間:
2019-6-17 15:22
一般情況是可以的
作者:
huskiezxl
時間:
2019-6-17 22:36
#在這里快速回復#匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。
作者:
huskiezxl
時間:
2019-6-17 22:37
匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優(yōu)點是占用資源少、程序執(zhí)行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。
C語言是一種結構化的高級語言。其優(yōu)點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執(zhí)行效率沒有匯編高。
匯編語言是低級語言,在編寫程序的時候會把根據(jù)不同的情況指定使用不同的尋址方式,能夠?qū)?nèi)存和CPU里的通用寄存器直接操縱。不同的單片機系列會有不同的匯編語言
而C語言是高級語言,可以實現(xiàn)跨平臺。編寫程序無需指定CPU的指令執(zhí)行情況,一段程序可以在不同體系結構的計算機上使用
作者:
egypt
時間:
2019-6-18 09:37
準確地說,不是。
因為 C 編譯器做的事情,在某些情況下你并不是非常非常了解。
在處理不可重入的快速中斷時,如果用 C 做了實現(xiàn),但是編出來的代碼如果不在匯編下檢查一下,可能這個中斷時序的性能就不夠了。如果一頭往編譯器上研究優(yōu)化,可能方向都偏了----還不如直接匯編實現(xiàn)呢
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1