吃了這個開源小玩意讓單片機開發和Arduino一樣高效

2022-04-21     大方老師單片機

原標題:吃了這個開源小玩意讓單片機開發和Arduino一樣高效

吃了這個開源小玩意,讓單片機開發Arduino一樣高效全中文注釋

無論你是一個單片機新手,或者是一位電 DIY的愛好者,還是說是對嵌入式開發感興趣的工程師,今天這個開源項目值得你看下去。

///插播一條:我自己在今年年初錄製了一套還比較系統的入門單片機教程,想要的同學找我拿就行了免費的,私信我就可以~點我頭像黑色字體加我地球呺也能領取哦。最近比較閒,帶做畢設,帶學生參加省級或以上比///

正文開始:

ECBM是什麼?

ECBM,是基 STC8單片機的外設函數庫,同時它也Everything Can Be Module(一切都可以模塊化的簡稱。

項目作者曾在自己的個人平台上說過,他認為無論軟體、硬體都可以模塊化,且只需要造一次輪子2017年起,他根據模塊化的設計理念,提出建立一個模塊的+硬產品,如果某日想要判今天家裡為何很時,可以根據濕度模+ CO2+主控分析原因。

此後,作者學習了各個單片機大廠的官方庫,理解軟體的程序結構,選取合適的載體。經過實踐,作者發現單片機官方庫一般可分為兩類:一類是是DIY愛好者編寫簡單封裝成函數,用到什麼寫什麼,風格混亂易衝突,沒有一個好的體系;另外一類則是由工程師編寫的,雖然有很好的框架,但是由於英文注釋、英文文檔及複雜的文件結構和代碼規則等讓新手望而卻步

抱著別的產品不符需求,就自己造輪子的想法ECBM誕生了,經過幾年的技術疊代,目前,該項目已經發行 V3版本。

特點

· C語言,按統一風格編寫

· KEIL特性,能夠適用圖形化編輯工具

·代碼運行速度提升,大數據

·支持多器件復用,任 IO都可驅動

·全中文注釋,符合國人習慣

·代碼增加可剪裁,能裝進型號更小的單片機

·當前支 STC8全系列單片機

前期準備

使用之前需要確保軟體、程序都下載安裝完畢,具體連結可找我。

操作流程

新建

雙擊新建工.bat,新test工程

ecbm_test文件夾,打 ecbm.uvproj,開始編程

注意:在介面下輸入英文或拼音,Keil對中文支持度低,不建議在此出現中文字符

設計正確的單片機型號

STC8系列目前FAGHC這幾個系列,他們8051寄存器都是一致的,但是擴8051能寄存器卻是有所差別,因此單片機型號一定要設置正確,才能訪問正確的寄存器。

方法: Keil左側 LIB_LIST下找 ecbm_reg.h,雙擊打ecbm_reg.h。然後在窗口的左下角 Configuration Wizard標籤進入圖形化配置介面

為何STC8單片機?

·庫要求要有通用性,為了保證通用性就不能為了運行速度而優化。這就要求使用一款運行速度快51單片機。

·STC8在整型計算略低stm32f030(同等運行頻率下),在浮點計算中略高stm32f030(也是同等運行頻率下)。

設置時鐘參數

ecbm_core.h,進入圖形化配置介面。在【單片機系統時鐘】下的【單片機系統時鐘設置】選擇所需選項。

譬如:作者使用的 STC8A8K64D4 STC-ISP中設置 40MHz的頻率,由於超過 30MHz且我的應用是刷一定需要高頻率工作。所以我選內部高速時 HSI(自定),先節省幾百位元組空間,然後填寫頻 40000000

如圖所示:

文件結構

文章來源: https://twgreatdaily.com/zh-mo/90c5cb5f31dd487c4b37a17b3c0d44d9.html