最近這兩年因?yàn)楦鞣N因素影響,芯片的價(jià)格水漲船高。像ST系列的stm32價(jià)格暴漲了好幾倍,stm32是很多公司以前一直都在用的芯片,突然的漲價(jià)導(dǎo)致新舊產(chǎn)品的成本都增加了不少,所以很多公司開始尋找可以替代的便宜芯片,于是很多國(guó)產(chǎn)方案應(yīng)運(yùn)而生。比如:GD32,AT32等等,我很早之前也介紹過GD32的使用和移植,不過我今天要講的不是這些芯片。
我最近在調(diào)試一款沁恒的MCU,這也是意外發(fā)現(xiàn)的一款I(lǐng)C,首先聲明一點(diǎn),這里沒有任何打廣告的成分,純粹是介紹一下這款I(lǐng)C,給大家多一種選擇。沁恒微電子大家可能都沒聽說過,但是他們公司有一款芯片你們一定知道,那就是CH340,是一個(gè)很常用的串口轉(zhuǎn)換芯片。不過我今天要講的也不是這個(gè)IC,我今天主要介紹的是沁恒的CH32V203,我用這個(gè)MCU做一個(gè)USB鍵盤,感覺還可以,關(guān)鍵是這個(gè)芯片比ST便宜。
關(guān)于這個(gè)MCU詳細(xì)的介紹這里就不講了,你們可以自己去官網(wǎng)看一下,官網(wǎng)上還有很多其他型號(hào)的MCU,對(duì)標(biāo)不不同的應(yīng)用場(chǎng)景。我這里主要講一下這個(gè)MCU具體要怎么使用,怎么編程和燒錄。
官網(wǎng)地址:https://www.wch.cn/products/CH32V203.html
1 安裝環(huán)境
1.1 MounRiver Studio
MounRiver Studio跟stm32不同,不是用keil編譯的,而是MounRiver Studio,但是用法都是類似的。
官網(wǎng)下載地址:http://mounriver.com/download
下載完打開安裝包直接安裝,一路next即可。
1.2 WCHISPTool
WCHISPTool是燒錄工具,用于MCU代碼的燒錄。
官網(wǎng)下載地址:https://www.wch.cn/downloads/WCHISPTool_Setup_exe.html
提示:PS:官網(wǎng)上還有很多資料,可以根據(jù)自己使用下載,比如:芯片手冊(cè),PCB,代碼例程,驅(qū)動(dòng),調(diào)試工具等。
2 新建工程
1、打開MounRiver Studio
,選擇工程保存的目錄。
2、依次點(diǎn)擊File -> New -> MounRiver Project
。
3、選擇自己使用的芯片型號(hào),修改項(xiàng)目名稱,點(diǎn)擊Finish即可。
提示:第一次打開時(shí),項(xiàng)目頁面可能會(huì)被歡迎頁擋住,關(guān)掉即可看到工程目錄。
此時(shí),一個(gè)基礎(chǔ)工程就建立完成了,這個(gè)軟件會(huì)根據(jù)你選擇的MCU自動(dòng)把相應(yīng)的庫函數(shù)添加進(jìn)來,后續(xù)你在這個(gè)工程的基礎(chǔ)上添加修改自己的應(yīng)用代碼即可。
4、在工程下添加文件或者文件夾
如果需要在工程下添加新的文件或者把已存在的文件、文件夾添加進(jìn)來,可以在工程目錄下右鍵添加。
如果添加的文件夾里面包含有頭文件的話,還需要在工程的根目錄下添加頭文件路徑。
在工程最外面的文件夾右鍵,點(diǎn)擊Properties
。
找到C/C++Build -> Settings -> includes
,然后添加頭文件所在的文件夾目錄即可。
3 編寫和編譯代碼
官網(wǎng)上有MCU的代碼例程,可以根據(jù)自己的使用情況把相應(yīng)的demo加入到你新建的工程里面,然后編譯。
編譯只需要點(diǎn)擊一下左上角那個(gè)圖標(biāo)即可。編譯成功后在工程目錄下obj文件里面會(huì)生成hex文件。
4 燒錄和仿真
打開WCHISPTool燒錄工具,選擇對(duì)應(yīng)的MCU,選擇前面編譯好的hex文件,然后把MCU的USB或者串口接入到電腦上,按下面配置好之后下載即可。
提示:燒錄時(shí)需要先拉一下BOOT0引腳再上電,BOOT引腳高低電平分別對(duì)應(yīng)燒錄模式和運(yùn)行模式,建議這里做成按鍵,需要燒錄時(shí)先按下按鍵進(jìn)入燒錄模式,燒錄完成之后松開按鍵進(jìn)入運(yùn)行模式。這一點(diǎn)類似于樂鑫ESP系列的MCU。
仿真需要用到官方的一個(gè)WCH-Link工具,類似JLink和ST-Link,我這里沒買這個(gè)工具,具體就不說了。
結(jié)束語
好了,關(guān)于沁恒的這個(gè)MCU的介紹就到這里了,我用這個(gè)MCU做了一款USB鍵盤,鍵盤部分的代碼是從其他MCU上面移植過來的,移植的過程也很順利。使用起來感覺跟stm32沒有太大的差別,包括一些硬件的接口以及軟件的固件庫,特別是官方提供的固件庫,跟stm32的庫非常像,很多函數(shù)的名字都是一樣的,比如GPIO的配置,定時(shí)器的配置,中斷服務(wù)函數(shù)等等,跟stm32基本都是一樣的,所以如果是從stm32移植過去的話會(huì)很方便。唯一有一點(diǎn)我覺得不是很好的,就是燒錄的時(shí)候沒有stm32的swd方便,它需要拉一下那個(gè)BOOT腳才能燒錄,完了又需要拉回去。
具體性能、功耗這些我沒去測(cè)試過,這里就不做評(píng)價(jià)了,但是對(duì)于性能要求不高的設(shè)備肯定是夠用了的,關(guān)鍵是價(jià)格還便宜。當(dāng)然了,我也沒有和其他國(guó)產(chǎn)MCU比較,也不清楚這個(gè)MCU還有沒有其他的坑暫,用不用都是大家的自由,我只是給大家提供了另外一種替代方案。
好了,閑話就說到這了,如果覺得這篇文章有幫到你的話,給博主點(diǎn)個(gè)贊唄。