是的,但你疑問的問題也是存在的。
針對不同的單片機,有不同的編譯器,每種單片機的c語言編譯器都對c語言做了適用於單片機的擴展。
編譯器在編譯單片機c語言的代碼時要有一些設置選項或者makefile之類的設置,這些設置對了,程序才能適應選定的單片機。
有很多編譯器為了讓單片機程序更適合用c語言,還將一些固定的程序(比如中斷入口、主程序入口、時鍾設置等)用匯編寫好後,嵌入到c語言程序的工程中,使C語言更適合單片機編程。
做了這么多工作後,用這種編譯器編譯的程序就可以下載到單片機中執行了。
當然會了,只是有一些具體的值編譯器幫你完成了,指針就是地址。
2. linux下怎麼編譯單片機c代碼,怎麼下載到51單片機上呢
1.編譯軟體用sdcc
2.sdcc不支持keil51c 的一些語法。要做以下修改:
sbitled1=P1^0; 改為 #define led1 P1_0
中斷函數interrupt改為__interrupt
單個位 P1^0 改為P1_0
若vim安裝插件YCM的話,要在.ycm_extra_conf.py加入以下兩個路徑
/usr/share/sdcc/include
/usr/share/sdcc/include/mcs51
沒創建一個工程都要拷貝一份.ycm_extra_conf.py到該工程的目錄下。
3.編譯用命令
` sdcc 目標文件
4.燒錄軟體用stcflash.py,該軟體只能支持stc89c52rc,不支持stc89c52。我自己親自試過。
sudo python ./stcflash.py 目標文件
3. 單片機和Linux哪個好點,有啥建議嗎
這兩個事並不是同類,沒法比哪個好。單片機屬硬體應用范疇,即要學電路,需要很多硬體電路知識,還要學編程。而Linux是操作系統,屬軟體編程范疇,幾乎是用電腦就行了。所以,看你喜歡硬體還是軟體了,及工作方向是哪方面的。就單片機而言,目前涉及到的范圍也是很寬的,單片機只是泛指了。
4. 單片機c語言編程軟體有哪些
windows下首選VS,版本至少vs2005以上,或者用最新的VSCode,不過需要自己配插件,好處是免費,如果做單片機c開發首選eclipse,linux下如果做單片機首選eclipse,其次是clion。eclipse兼容性最好,不過穩定性差一些,vs在win下沒有對手,clion用cmake,相比來說大部分c程序用的都是makefile,需要適應一下。
Devc++:這個IDE是windows環境下的,操作簡單,功能也不弱,適合新手使用。
Codeblocks(強力推薦):功能比較強大的c/c++IDE,有著不錯的智能提示。
拓展資料
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少悉廳量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSIC,作為C語言最初的標准。目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字蠢困函數名和漢字標識符,一定程度上實現了漢字編程。
C語睜檔隱言是一門面向過程的計算機編程語言,與C++,Java等面向對象的編程語言有所不同。
其編譯器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等。
編譯器
GCC,GNU組織開發的開源免費的編譯器
MinGW,Windows操作系統下的GCC
Clang,開源的BSD協議的基於LLVM的編譯器
VisualC++::cl.exe,MicrosoftVC++自帶的編譯器
集成開發環境
CodeBlocks,開源免費的C/C++IDE
CodeLite,開源、跨平台的C/C++集成開發環境
OrwellDev-C++,可移植的C/C++IDE
C-Free
LightTable
VisualStudio系列
HelloWorld