本文內容轉自百問科技,原文:百問網新作《使用面向對象的思想編寫單片機程序》
自2005年以來,我一直從事Linux開發,但對于單片機始終沒有產生興趣,原因是覺得單片機太過簡單了,Flash和RAM只有幾十KB,感覺就像是在螺螄殼里面打坐,能展現出什么新花樣呢?直到最近兩年,我經歷了一次震撼。
我有幸在某機器人公司看到了一個基于單片機和rtos開發的貓砂機器人代碼,拋開rtos內核源碼,他們自己實現的源文件就超過了3000個。這讓我意識到,單片機也可以用于開發大型項目!我開始思考如何管理如此龐大的代碼量?
在Linux項目中,我們不需要關注寄存器級別的操作,那么在單片機領域是否也可以做到呢?
在Linux項目中,我們將項目拆分為多個子系統,并進一步將子系統拆分為多個層級,編程時要么使用C++的類,要么使用C語言的結構體,那么在單片機領域,這種做法可行嗎?
隨著單片機性能的提升,我們能夠實現的項目功能也越來越多,對單片機工程師的要求也越來越高。過去,我們只需要一個while循環來處理所有事情;現在,我們引入了RTOS,使用多任務系統。過去,我們以面向過程的方式編寫程序,需要什么就寫什么;現在,我們以面向對象的方式編寫程序,先抽象出一個類或結構體,再進行編程。
剛接觸面向對象編程時,你可能會覺得:這是什么鬼?明明一個簡單的功能,為什么要創建多個結構體并進行注冊?
過去只需要幾行代碼就能解決問題,現在卻分散到2、3個文件中了!然而,在我的教學生涯中,一旦學生們掌握了面向對象的編程思想,他們就再也回不去了:他們無法忍受過去的代碼。
我一直想在單片機領域推廣“面向對象的編程思想”,但一直沒有找到合適的單片機以及對應的軟件庫來支持我的想法。直到我開始使用瑞薩的ARM內核的RA MCU及其軟件包FSP,我確信這就是講解面向對象編程時需要用到的單片機和軟件包。瑞薩MCU的軟件包FSP就是基于面向對象的思想編寫的。
對于每個設備,我們可以定義好接口,抽象出相應的結構體,并對其進行實現。再結合FSP RASC圖形化配置工具和代碼生成工具,我們使用瑞薩MCU時,變得異常簡單!我們不再需要關注寄存器級別的代碼,也不再需要重復造輪子,可以將精力集中在業務邏輯和算法上。
得益于瑞薩強大的MCU、強大的軟件開發工具,也得益于瑞薩和RA生態工作室提供的支持,我們團隊編寫了《ARM嵌入式系統中面向對象的模塊編程方法》
-
講解面向對象編程在單片機開發中的使用
-
結合FSP軟件包實例分析外設驅動
-
講解如何使用RASC配置片上設備
-
教你如何編寫面向對象編程
-
更講解如何操作外接的模塊:引入大型項目中的編程思想
單片機工程師們,很多沒有軟件工程的概念,編寫的程序結構不好,不易移植、不易擴展。軟件專業的工程師們,又沒有嵌入式的基礎,總覺得跟硬件打交道很難。
適用范圍
-
給單片機工程師介紹軟件工程的概念,把項目拆分為子系統,分層設計子系統,編寫代碼時使用面向對象的思想
-
給軟件專業的工程師講解硬件知識、教你編寫驅動程序
-
想提升編程水平的工程師:現在MCU的性能越來越強,能做的項目越來越大,一個C文件里實現所有功能的方法不適合大項目了
目錄
DshanMCU-RA6M5開發板
1
END
1
-
mcu
+關注
關注
146文章
17135瀏覽量
351030 -
瑞薩
+關注
關注
35文章
22309瀏覽量
86253
原文標題:干貨分享 | 《使用面向對象的思想編寫單片機程序》
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論