99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

今天,已經到MCU開發(fā)人員拿起C語言利器的時候了

GReq_mcu168 ? 來源:玩轉單片機 ? 作者:玩轉單片機 ? 2020-10-17 10:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

將C向MCU(俗稱單片機)8051上的移植始于80年代的中后期??陀^上講,C向8051 MCU移植的難點不少。如:

8051的非馮·諾依慢結構(程序與數據存儲器空間分立),再加上片上又多了位尋址存儲空間;

片上的數據和程序存儲器空間過小和同時存在著向片外擴展它們的可能;

片上集成外圍設備的被寄存器化(即SFR),而并不采用慣用的I/O地址空間;

8051芯片的派生門類特別多(達到了上百種之多),而C語言對于它們的每一個硬件資源又無一例外地要能進行操作。

這些都是過去以MPU為基礎的C語言所沒有的。經過Keil/Franklin、Archmeades、IAR、BSO/Tasking等公司艱若不懈的努力,終于于90年代開始而趨成熟,成為專業(yè)化的MCU高級語言了。過去長期困擾人們的所謂“高級語言產生代碼太長,運行速度太慢,因此不適合單片機使用”的致使缺點已被大幅度地克服。目前,8051上的C語言的代碼長度,已經做到了匯編水平的1.2~1.5倍。4K字節(jié)以上的程度,C語言的優(yōu)勢更能得到發(fā)揮。至于執(zhí)行速度的問題,只要有好的仿真器的幫助,找出關鍵代碼,進一步用人工優(yōu)化,就可很簡單地達到十分美滿的程度。如果談到開發(fā)速度、軟件質量、結構嚴謹、程序堅固等方面的話,則C語言的完美絕非匯編語言編程所可比擬的。今天,確實已經到MCU開發(fā)人員拿起C語言利器的時候了。下面結合8051介紹單片機C語言的優(yōu)越性:

不懂得單片機的指令集,也能夠編寫完美的單片機程序;

無須懂得單片機的具體硬件,也能夠編出符合硬件實際的專業(yè)水平的程序;

不同函數的數據實行覆蓋,有效利用片上有限的RAM空間;

程序具有堅固性:數據被破壞是導致程序運行異常的重要因素。C語言對數據進行了許多專業(yè)性的處理,避免了運行中間非異步的破壞;

C語言提供復雜的數據類型(數組、結構、聯合、枚舉、指針等),極大地增強了程序處理能力和靈活性;

提供auto、static、const等存儲類型和專門針對8051單片機的data、idata、pdata、xdata、code等存儲類型,自動為變量合理地分配地址;

提供small、compact、large等編譯模式,以適應片上存儲器的大?。?/p>

中斷服務程序的現場保護和恢復,中斷向量表的填寫,是直接與單片機相關的,都由C編譯器代辦;

提供常用的標準函數庫,以供用戶直接使用;

頭文件中定義宏、說明復雜數據類型和函數原型,有利于程序的移植和支持單片機的系列化產品的開發(fā);

有嚴格的句法檢查,錯誤很少,可容易地在高級語言的水平上迅速地被排掉;

可方便地接受多種實用程序的服務:如片上資源的初始化有專門的實用程序自動生成;再如,有實時多任務操作系統(tǒng)可調度多道任務,簡化用戶編程,提高運行的安全性等等。

責任編輯:xj

原文標題:單片機為什么要使用C語言?

文章出處:【微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6067

    文章

    44982

    瀏覽量

    650313
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17970

    瀏覽量

    366588
  • C語言
    +關注

    關注

    180

    文章

    7632

    瀏覽量

    141640

原文標題:單片機為什么要使用C語言?

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式軟件開發(fā)常用的軟件有哪些?

    軟件功能。 2. Visual Studio 簡稱VS: 它是一個IDE,集成開發(fā)環(huán)境。驗證C程序或是進行c#程序開發(fā),可以用它。一些與嵌入式相關的模擬器也是基于VS的。幫助
    發(fā)表于 07-03 17:06

    Nordic PMIC全家桶,讓電源管理和節(jié)能更進一步!

    Nordic 發(fā)布 nPM2100 PMIC 和 nPM2100 評估套件,現已向開發(fā)人員提供 nPM2100 評估套件、軟件和技術文檔! 此次發(fā)布公布 PMIC 的完整文檔,供開發(fā)人員
    發(fā)表于 06-29 17:19

    主流的 MCU 開發(fā)語言為什么是 C 而不是 C++?

    、1MROM是標配?多數時候咱打交道的,是stm8這種8kRAM的“小矮個兒”,stm32f1的32kRAM就算是“小康家庭”。就這么丁點兒地方,C語言打個轉都
    的頭像 發(fā)表于 05-21 10:33 ?436次閱讀
    主流的 <b class='flag-5'>MCU</b> <b class='flag-5'>開發(fā)</b><b class='flag-5'>語言</b>為什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C</b>++?

    Thingy:91 X 為開發(fā)人員提供一個經過全球認證的、多傳感器、電池供電的蜂窩物聯網原型平臺

    Thingy:91 X 為開發(fā)人員提供一個經過全球認證的、多傳感器、電池供電的蜂窩物聯網原型平臺 挪威奧斯陸 – 2024年12月10日 – 全球領先的低功耗無線連接解決方案提供商Nordic
    的頭像 發(fā)表于 05-08 17:41 ?909次閱讀

    NanoEdge AI Studio 面向STM32開發(fā)人員機器學習(ML)技術

    嵌入式開發(fā)人員提供按年度的單個或團隊許可。 為幫助用戶啟動其項目,意法半導體推出了Edge AI Sprint包,以限制風險和投資,同時提高成功幾率。這是包括培訓課程、N
    的頭像 發(fā)表于 04-22 11:09 ?584次閱讀
    NanoEdge AI Studio 面向STM32<b class='flag-5'>開發(fā)人員</b>機器學習(ML)技術

    基于RV1126開發(fā)板的人員檢測算法開發(fā)

    在RV1126上開發(fā)人員檢測AI算法組件
    的頭像 發(fā)表于 04-14 13:56 ?308次閱讀
    基于RV1126<b class='flag-5'>開發(fā)</b>板的<b class='flag-5'>人員</b>檢測算法<b class='flag-5'>開發(fā)</b>

    GoPoint嵌入式開發(fā)平臺 釋放i.MX潛力 簡化Linux開發(fā)

    地進行創(chuàng)新。 在快節(jié)奏的嵌入式系統(tǒng)時代,時間是開發(fā)人員最寶貴的資源。GoPoint (過去名為NXP Demo Experience) 重新定義評估和探索過程,開發(fā)人員能夠快速評估i.MX SoC在下一代項目中的能力。 GoP
    發(fā)表于 02-28 10:07 ?625次閱讀
    GoPoint嵌入式<b class='flag-5'>開發(fā)</b>平臺 釋放i.MX潛力 簡化Linux<b class='flag-5'>開發(fā)</b>

    芯科科技全新MCU選型指南

    微控制器(MCU)是物聯網的核心,開發(fā)人員如何面向其應用需求選擇最合適的設備,將是在產品開發(fā)過程中的一個重大決策。但是,您如何知道哪款處理器合適呢?本篇物聯網MCU選型指南深入介紹Si
    的頭像 發(fā)表于 02-17 16:52 ?992次閱讀
    芯科科技全新<b class='flag-5'>MCU</b>選型指南

    擁有低功耗低成本的Open開發(fā)應用,開發(fā)人員必看!

    Open開發(fā)應用需求,有沒有低功耗、低成本方案? 今天我們一起來聊聊Air780EP模組。 一、Air780EP實網功耗數據 4G-Cat.1模組支持三種功耗模式:常規(guī)模式、低功耗模式、PSM+模式
    的頭像 發(fā)表于 12-26 11:50 ?522次閱讀
    擁有低功耗低成本的Open<b class='flag-5'>開發(fā)</b>應用,<b class='flag-5'>開發(fā)人員</b>必看!

    MSPDebugStack開發(fā)人員指南

    電子發(fā)燒友網站提供《MSPDebugStack開發(fā)人員指南.pdf》資料免費下載
    發(fā)表于 12-05 14:49 ?0次下載
    MSPDebugStack<b class='flag-5'>開發(fā)人員</b>指南

    MCU編程語言開發(fā)環(huán)境介紹

    MCU編程語言 MCU編程語言是用于編寫MCU程序的高級編程語言,它們使得
    的頭像 發(fā)表于 11-01 11:51 ?2188次閱讀

    MCU前沿市場趨勢:8位單片機和32位單片機

    程度越來越高。這些功能豐富的設備適合一系列不同的應用程序,這解釋為什么許多嵌入式開發(fā)人員選擇它們進行下一步設計。設計師意識,這種復雜的設備可以提供原始計算能力,豐富的外圍設備以及輕松訪問各種
    發(fā)表于 09-24 17:47

    嵌入式開發(fā)常用軟件有哪些?

    開發(fā)人員更穩(wěn)定,更有生產力,更易于使用Debug調試功能。 3.SourceInsight source insight Mac 最新版支持多種開發(fā)語言(比如說Java,c
    發(fā)表于 09-09 15:22

    C2000 ePWM開發(fā)人員指南

    電子發(fā)燒友網站提供《C2000 ePWM開發(fā)人員指南.pdf》資料免費下載
    發(fā)表于 09-07 09:45 ?0次下載
    <b class='flag-5'>C</b>2000 ePWM<b class='flag-5'>開發(fā)人員</b>指南

    CKS32F107xx系列MCU的中斷和事件

    本章節(jié)首先將以MCU開發(fā)人員常接觸到的“中斷”、“事件”和“中斷事件”三個名詞的概念展開,然后去闡述彼此的主要區(qū)別,最后借助MCU的GPIO外部中斷/事件控制器(EXTI)的傳輸路徑來加深對上述概念的理解。
    的頭像 發(fā)表于 07-22 09:29 ?936次閱讀
    CKS32F107xx系列<b class='flag-5'>MCU</b>的中斷和事件