91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

C語言提供復(fù)雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強(qiáng)了程序處理能力和靈活性;

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

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

中斷服務(wù)程序的現(xiàn)場保護(hù)和恢復(fù),中斷向量表的填寫,是直接與單片機(jī)相關(guān)的,都由C編譯器代辦;

提供常用的標(biāo)準(zhǔn)函數(shù)庫,以供用戶直接使用;

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

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

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

責(zé)任編輯:xj

原文標(biāo)題:單片機(jī)為什么要使用C語言?

文章出處:【微信公眾號:玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

    關(guān)注

    6077

    文章

    45515

    瀏覽量

    671617
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18991

    瀏覽量

    399814
  • C語言
    +關(guān)注

    關(guān)注

    183

    文章

    7645

    瀏覽量

    145835

原文標(biāo)題:單片機(jī)為什么要使用C語言?

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    藍(lán)牙信道探測工作原理及開發(fā)套件

    BluetoothChannelSounding藍(lán)牙信道探測為各種聯(lián)網(wǎng)設(shè)備帶來真正的距離感知功能,為開發(fā)人員帶來無限可能。從增強(qiáng)數(shù)字密鑰的安全性,優(yōu)化“查找我的”方案的性能,藍(lán)牙信道探測將深化我們
    的頭像 發(fā)表于 03-12 16:26 ?283次閱讀
    藍(lán)牙信道探測工作原理及<b class='flag-5'>開發(fā)</b>套件

    軟件定制開發(fā)人員相關(guān)的公司有哪些

    軟件
    北京華盛恒輝科技
    發(fā)布于 :2026年03月02日 20:32:34

    探索DSC Multilink:調(diào)試利器的技術(shù)剖析

    是一款專門用于加速調(diào)試和閃存編程過程的調(diào)試接口,它能為開發(fā)人員節(jié)省大量寶貴的開發(fā)時間。通過該接口,目標(biāo)設(shè)備可以與筆
    的頭像 發(fā)表于 12-24 17:05 ?342次閱讀

    單片機(jī)C語言編程的心得

    文檔,一方面可以公開發(fā)行,保證開發(fā)人員的所有權(quán);另一方面可以防止別人有意或無意修改產(chǎn)生非一致性,造成版本混亂。所以H頭文件是項目的詳細(xì)設(shè)計和團(tuán)隊工作劃分的依據(jù),也是對模塊進(jìn)行測試的功能說明。要引用模塊內(nèi)的數(shù)據(jù)或算法,只要用包含include指定模塊H頭文件即可。
    發(fā)表于 12-08 07:44

    現(xiàn)已上市:AMD Spartan UltraScale+ FPGA SCU35 評估套件——面向所有開發(fā)人員的經(jīng)濟(jì)實惠平臺

    的路徑。 該套件搭載具備 I/O 擴(kuò)展和板卡管理功能的 Spartan UltraScale+ SU35P 器件。其還為 AMD 成本優(yōu)化型產(chǎn)品組合帶來了多項新進(jìn)展,并使開發(fā)人員能夠快速啟動
    的頭像 發(fā)表于 11-27 10:52 ?506次閱讀

    Bourns 深耕印度,在地設(shè)計 - Bourns 印度設(shè)計中心 為開發(fā)人員提供當(dāng)?shù)叵冗M(jìn)技術(shù)資源助力客戶加速創(chuàng)新!

    班加羅爾 (Bengaluru) 正式成立首座設(shè)計中心。此新中心將作為以客戶協(xié)作與創(chuàng)新為核心的研發(fā)樞紐,為當(dāng)?shù)?b class='flag-5'>開發(fā)人員提供完整的設(shè)計工具與技術(shù)支持,包括運(yùn)用 Bourns 具業(yè)界領(lǐng)先地位的電源與保護(hù)組件之參考設(shè)計專業(yè)服務(wù)。 Bourns 印度設(shè)計中心采用成熟流程,協(xié)助客戶快速進(jìn)
    的頭像 發(fā)表于 11-19 14:26 ?562次閱讀
    Bourns 深耕印度,在地設(shè)計 - Bourns 印度設(shè)計中心 為<b class='flag-5'>開發(fā)人員</b>提供當(dāng)?shù)叵冗M(jìn)技術(shù)資源助力客戶加速創(chuàng)新!

    嵌入式開發(fā)的關(guān)鍵點介紹

    嵌入式開發(fā)在現(xiàn)代科技中扮演著非常重要的角色。隨著物聯(lián)網(wǎng)的發(fā)展,嵌入式系統(tǒng)的需求也越來越大。嵌入式開發(fā)不僅需要開發(fā)人員具備深入的硬件知識和編程經(jīng)驗,還需要不斷學(xué)習(xí)新的技術(shù)和工具,以滿足不斷變化的需求
    發(fā)表于 11-13 08:12

    Texas Instruments TMDS273EVM MCU評估模塊 (EVM)數(shù)據(jù)手冊

    Texas Instruments TMDS273EVM MCU評估模塊 (EVM) 是一個獨立的測試、開發(fā)和評估平臺,幫助開發(fā)人員評估AM273x的功能和為各種應(yīng)用開發(fā)原型。
    的頭像 發(fā)表于 08-03 10:06 ?1367次閱讀
    Texas Instruments TMDS273EVM <b class='flag-5'>MCU</b>評估模塊 (EVM)數(shù)據(jù)手冊

    【HZ-T536開發(fā)板免費體驗】3 - Cangjie Magic調(diào)用視覺語言大模型(VLM)真香,是不是可以沒有YOLO和OCR?

    感謝電子發(fā)燒友和合眾恒躍提供的試用機(jī)會。 引言 上次我們已經(jīng)實現(xiàn)交叉編譯倉頡編程語言的程序在開發(fā)板上運(yùn)行。今天我們會交叉編譯Cangjie
    發(fā)表于 08-01 22:15

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

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

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

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

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

    、1MROM是標(biāo)配?多數(shù)時候咱打交道的,是stm8這種8kRAM的“小矮個兒”,stm32f1的32kRAM就算是“小康家庭”。就這么丁點兒地方,C語言打個轉(zhuǎn)都
    的頭像 發(fā)表于 05-21 10:33 ?1077次閱讀
    主流的 <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ā)人員提供一個經(jīng)過全球認(rèn)證的、多傳感器、電池供電的蜂窩物聯(lián)網(wǎng)原型平臺

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

    NanoEdge AI Studio 面向STM32開發(fā)人員機(jī)器學(xué)習(xí)(ML)技術(shù)

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

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

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