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

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

3天內不再提示

干貨分享 | 《使用面向對象的思想編寫單片機程序》

瑞薩MCU小百科 ? 來源:未知 ? 2023-07-17 12:10 ? 次閱讀
2297a9b8-2457-11ee-962d-dac502259ad0.gif

本文內容轉自百問科技,原文:百問網(wǎng)新作《使用面向對象的思想編寫單片機程序》

自2005年以來,我一直從事Linux開發(fā),但對于單片機始終沒有產(chǎn)生興趣,原因是覺得單片機太過簡單了,F(xiàn)lash和RAM只有幾十KB,感覺就像是在螺螄殼里面打坐,能展現(xiàn)出什么新花樣呢?直到最近兩年,我經(jīng)歷了一次震撼。

我有幸在某機器人公司看到了一個基于單片機和rtos開發(fā)的貓砂機器人代碼,拋開rtos內核源碼,他們自己實現(xiàn)的源文件就超過了3000個。這讓我意識到,單片機也可以用于開發(fā)大型項目!我開始思考如何管理如此龐大的代碼量?

在Linux項目中,我們不需要關注寄存器級別的操作,那么在單片機領域是否也可以做到呢?

在Linux項目中,我們將項目拆分為多個子系統(tǒng),并進一步將子系統(tǒng)拆分為多個層級,編程時要么使用C++的類,要么使用C語言的結構體,那么在單片機領域,這種做法可行嗎?

隨著單片機性能的提升,我們能夠實現(xiàn)的項目功能也越來越多,對單片機工程師的要求也越來越高。過去,我們只需要一個while循環(huán)來處理所有事情;現(xiàn)在,我們引入了RTOS,使用多任務系統(tǒng)。過去,我們以面向過程的方式編寫程序,需要什么就寫什么;現(xiàn)在,我們以面向對象的方式編寫程序,先抽象出一個類或結構體,再進行編程。

剛接觸面向對象編程時,你可能會覺得:這是什么鬼?明明一個簡單的功能,為什么要創(chuàng)建多個結構體并進行注冊?

過去只需要幾行代碼就能解決問題,現(xiàn)在卻分散到2、3個文件中了!然而,在我的教學生涯中,一旦學生們掌握了面向對象的編程思想,他們就再也回不去了:他們無法忍受過去的代碼。

我一直想在單片機領域推廣“面向對象的編程思想”,但一直沒有找到合適的單片機以及對應的軟件庫來支持我的想法。直到我開始使用瑞薩ARM內核的RA MCU及其軟件包FSP,我確信這就是講解面向對象編程時需要用到的單片機和軟件包。瑞薩MCU的軟件包FSP就是基于面向對象的思想編寫的。

對于每個設備,我們可以定義好接口,抽象出相應的結構體,并對其進行實現(xiàn)。再結合FSP RASC圖形化配置工具和代碼生成工具,我們使用瑞薩MCU時,變得異常簡單!我們不再需要關注寄存器級別的代碼,也不再需要重復造輪子,可以將精力集中在業(yè)務邏輯和算法上。

得益于瑞薩強大的MCU、強大的軟件開發(fā)工具,也得益于瑞薩和RA生態(tài)工作室提供的支持,我們團隊編寫了《ARM嵌入式系統(tǒng)中面向對象的模塊編程方法》

  • 講解面向對象編程在單片機開發(fā)中的使用

  • 結合FSP軟件包實例分析外設驅動

  • 講解如何使用RASC配置片上設備

  • 教你如何編寫面向對象編程

  • 更講解如何操作外接的模塊:引入大型項目中的編程思想

單片機工程師們,很多沒有軟件工程的概念,編寫的程序結構不好,不易移植、不易擴展。軟件專業(yè)的工程師們,又沒有嵌入式的基礎,總覺得跟硬件打交道很難。

適用范圍

  • 給單片機工程師介紹軟件工程的概念,把項目拆分為子系統(tǒng),分層設計子系統(tǒng),編寫代碼時使用面向對象的思想

  • 給軟件專業(yè)的工程師講解硬件知識、教你編寫驅動程序

  • 想提升編程水平的工程師:現(xiàn)在MCU的性能越來越強,能做的項目越來越大,一個C文件里實現(xiàn)所有功能的方法不適合大項目了

目錄

22c6ae7a-2457-11ee-962d-dac502259ad0.jpg

DshanMCU-RA6M5開發(fā)板

231ca37a-2457-11ee-962d-dac502259ad0.jpg236afc50-2457-11ee-962d-dac502259ad0.jpg239fcc96-2457-11ee-962d-dac502259ad0.jpg23fd4c72-2457-11ee-962d-dac502259ad0.jpg2445571a-2457-11ee-962d-dac502259ad0.jpg

1

END

1


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

    關注

    146

    文章

    16812

    瀏覽量

    349449
  • 瑞薩
    +關注

    關注

    33

    文章

    22277

    瀏覽量

    85831

原文標題:干貨分享 | 《使用面向對象的思想編寫單片機程序》

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機怎么寫入程序

    程序通常涉及以下幾個步驟: 選擇單片機和開發(fā)環(huán)境 : 確定項目需求,選擇合適的單片機型號。 安裝相應的開發(fā)環(huán)境,如Keil、IAR、MPLAB等。 硬件連接 : 將單片機連接到開發(fā)板或
    的頭像 發(fā)表于 10-21 11:21 ?106次閱讀

    keil可以讀出單片機程序

    表述存在一定的誤解,因為Keil主要是用于編寫、編譯和調試單片機程序的工具,而不是直接從單片機中讀取已編程代碼的工具。 一、Keil的主要功能 編程開發(fā) :Keil允許用戶使用C語言或
    的頭像 發(fā)表于 09-02 10:32 ?480次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序單片機開發(fā)過程中的一個重要環(huán)節(jié),涉及到將編寫好的程序代碼通過燒錄器寫入單片機的R
    的頭像 發(fā)表于 09-02 10:05 ?559次閱讀

    單片機燒錄程序可以重新燒嗎

    單片機(Microcontroller Unit, MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設備。單片機燒錄程序是指將編寫
    的頭像 發(fā)表于 09-02 10:04 ?633次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    單片機燒錄原理 單片機燒錄是指將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機的存儲器中,使其能夠按照程序
    的頭像 發(fā)表于 09-02 09:54 ?300次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序單片機開發(fā)過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸?shù)?b class='flag-5'>單片機
    的頭像 發(fā)表于 09-02 09:47 ?481次閱讀

    藍牙模塊如何實現(xiàn)單片機和手機端數(shù)據(jù)互傳

    ZX-D30、ZX-D37、ZX-D32等。 藍牙模塊設置 : 將藍牙模塊與單片機連接。通常,藍牙模塊通過串口(UART)與單片機通信。 設置藍牙模塊的工作模式和參數(shù),例如波特率、名稱、停止位、數(shù)據(jù)位等。這通常通過發(fā)送特定的AT命令來完成。
    的頭像 發(fā)表于 07-24 17:59 ?1866次閱讀
    藍牙模塊如何實現(xiàn)<b class='flag-5'>單片機</b>和手機端數(shù)據(jù)互傳

    基于51單片機分立器件超聲波測距電路圖及程序元件清單

    本資源內容概要:? ? ? ?這是基于51單片機分立器件超聲波測距電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單
    發(fā)表于 06-20 16:17 ?0次下載

    基于51單片機8路搶答器電路圖proteus仿真及程序

    本資源內容概要:? ? ? ?這是基于51單片機8路搶答器電路圖proteus仿真及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開
    發(fā)表于 06-19 14:15 ?1次下載

    基于51單片機16路搶答器電路圖及程序元件清單

    本資源內容概要:? ? ? ?這是基于51單片機16路搶答器電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格
    發(fā)表于 06-19 11:38 ?0次下載

    單片機編程實例介紹

    是指使用特定的編程語言編寫控制單片機工作的程序。 在本文中,將為您提供一些常見的單片機編程實例,包括基礎應用、傳感器應用、通信應用等方面的案例。 一、基礎應用 LED流水燈 流水燈是最
    的頭像 發(fā)表于 01-16 09:37 ?2505次閱讀

    單片機代碼自動生成器程序

    和輸入/輸出設備的芯片。它通常用于嵌入式系統(tǒng)中,能夠完成一系列特定的任務。開發(fā)人員編寫單片機代碼負責指導單片機執(zhí)行相應的任務。然而,編寫單片機
    的頭像 發(fā)表于 01-08 14:12 ?2573次閱讀

    keil5mdk怎么編寫51單片機程序

    編寫51單片機程序需要以下步驟: 編寫程序框架:首先,你需要定義程序所需要的變量和常量,以及設置中斷向量和寄存器的初始狀態(tài)。這些信息可以根據(jù)
    的頭像 發(fā)表于 12-25 14:54 ?1327次閱讀

    pic單片機匯編程序實例

    以下是一個簡單的PIC單片機匯編程序示例,這個程序將實現(xiàn)一個LED閃爍的功能。 首先,我們需要了解PIC單片機的結構和指令集。PIC單片機
    的頭像 發(fā)表于 12-14 11:01 ?1613次閱讀

    淺談C語言面向對象編程思想

    C語言是一種面向過程的語言,但是也可以用結構體和函數(shù)指針來模擬面向對象的特性,比如封裝、繼承和多態(tài)。
    發(fā)表于 11-02 12:27 ?937次閱讀