在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

今天,已經到MCU開發人員拿起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年代開始而趨成熟,成為專業化的MCU高級語言了。過去長期困擾人們的所謂“高級語言產生代碼太長,運行速度太慢,因此不適合單片機使用”的致使缺點已被大幅度地克服。目前,8051上的C語言的代碼長度,已經做到了匯編水平的1.2~1.5倍。4K字節以上的程度,C語言的優勢更能得到發揮。至于執行速度的問題,只要有好的仿真器的幫助,找出關鍵代碼,進一步用人工優化,就可很簡單地達到十分美滿的程度。如果談到開發速度、軟件質量、結構嚴謹、程序堅固等方面的話,則C語言的完美絕非匯編語言編程所可比擬的。今天,確實已經到MCU開發人員拿起C語言利器的時候了。下面結合8051介紹單片機C語言的優越性:

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

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

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

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

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

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

提供small、compact、large等編譯模式,以適應片上存儲器的大小;

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

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

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

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

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

責任編輯:xj

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

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

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

    關注

    6067

    文章

    44956

    瀏覽量

    648716
  • mcu
    mcu
    +關注

    關注

    146

    文章

    17908

    瀏覽量

    362461
  • C語言
    +關注

    關注

    180

    文章

    7630

    瀏覽量

    140933

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

    基于RV1126開發板的人員檢測算法開發

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

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

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

    芯科科技全新MCU選型指南

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

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

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

    MSPDebugStack開發人員指南

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

    使用恩智浦無線FRDM開發板實現創新無線解決方案

    開發人員現在面臨著前所未有的挑戰,需要為各種產品設計復雜的軟件,通常還要使用不同的處理器。恩智浦的MCUXpresso Developer Experience通過適用于多種MCU平臺的通用框架解決許多挑戰。恩智浦推出了新的無
    的頭像 發表于 11-26 17:40 ?11.2w次閱讀
    使用恩智浦無線FRDM<b class='flag-5'>開發</b>板實現創新無線解決方案

    MCU編程語言開發環境介紹

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

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

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

    嵌入式開發常用軟件有哪些?

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

    C2000 ePWM開發人員指南

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

    CKS32F107xx系列MCU的中斷和事件

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

    谷歌發布新型大語言模型Gemma 2

    在人工智能領域,大語言模型一直是研究的熱點。近日,全球科技巨頭谷歌宣布,面向全球研究人員開發人員,正式發布其最新研發的大語言模型——Ge
    的頭像 發表于 06-29 09:48 ?720次閱讀
    主站蜘蛛池模板: 日本免费黄色网址 | 欧美黄色片在线 | 性欧美护士18xxxxhd视频 | 色综合天天综合网国产国产人 | 日本韩国三级视频 | 婷婷丁香在线观看 | 免费在线播放毛片 | 1024国产高清精品推荐 | 4438x色| 免费一级欧美片在线观看 | 天天操bb | 6969精品视频在线观看 | 久久久久久夜精品精品免费啦 | 国产片一区二区三区 | 夜夜爽网站 | 亚洲一卡二卡在线 | 2022第二三四天堂网 | 手机看片午夜 | 美女视频黄的免费视频网页 | 三级精品视频在线播放 | 六月综合激情 | 性感美女毛片 | 色噜噜狠狠成人中文小说 | 色多多免费视频观看区一区 | 米奇精品一区二区三区 | 天天射综合网站 | 午夜精品福利视频 | 国产午夜精品久久理论片小说 | 欧美性极品高清 | 欧美a色爱欧美综合v | 久久久久久噜噜噜久久久精品 | 国产色视频网站免费观看 | 日本黄视频在线观看 | 日产精品卡二卡三卡四卡无卡乱码 | 黄网站视频在线观看 | 都市禁忌猎艳风流美妇 | 亚洲欧美一区二区三区在线播放 | 国产全部理论片线观看 | 噜噜色噜噜色 | 广东毛片 | 日本特黄色大片 |