本來(lái)是想自己開(kāi)發(fā)一個(gè)藍(lán)牙的小板子,,偶然看到了電子技術(shù)應(yīng)用網(wǎng)站推出開(kāi)發(fā)板免費(fèi)測(cè)評(píng)活動(dòng),,一眼就看到了沁恒微電子的CH579M開(kāi)發(fā)板,怎么會(huì)有這么巧的事情,。第一次接觸藍(lán)牙開(kāi)發(fā),,正愁沒(méi)有一塊開(kāi)發(fā)板來(lái)學(xué)習(xí),這下芯片選型和開(kāi)發(fā)板一下子解決了,。最吸引我的是,,當(dāng)我查到沁恒微的官網(wǎng),看到這么全的資料和開(kāi)發(fā)工具,,這不正是我需要的,,于是我果斷報(bào)了名。
之所以選CH579,,是因?yàn)樗軌蛑С謐eil做全開(kāi)發(fā)環(huán)境,,全中文資料,上手難度瞬間低非常多,。資料寫(xiě)的很詳盡,,非常契合開(kāi)發(fā)者的需求,比如單獨(dú)介紹了天線的PCB layout的注意事項(xiàng),。在這些資料中,,我自己也直觀得了解到了到了很多以前沒(méi)學(xué)過(guò)的知識(shí),對(duì)我后續(xù)基于這塊MCU開(kāi)發(fā)其他應(yīng)用提供了不小的幫助,。相比于我之前選型的芯片,,難度一下子就下降一大截。
收到板子后當(dāng)然要簡(jiǎn)單介紹一下這塊開(kāi)發(fā)板了,,板子是沉金板,,插針也是鍍金的,用料還是很扎實(shí)的,。開(kāi)發(fā)板上帶一個(gè)16pin的USB-TYPE-C,,一個(gè)USB-TYPE-A,一個(gè)以太網(wǎng)接口,,接口還是非常豐富的,,有兩個(gè)可編程led,沒(méi)有可編程按鍵,。最重要的是板載一根2.4G藍(lán)牙天線,,拓展了無(wú)線應(yīng)用??傮w來(lái)說(shuō),,這塊板子的集成度還是很不錯(cuò)的,接口種類(lèi)很全,,相比stm32來(lái)說(shuō),,個(gè)人認(rèn)為這塊板子比較適合進(jìn)階學(xué)習(xí),適合物聯(lián)網(wǎng)應(yīng)用開(kāi)發(fā),。
然后可以測(cè)試一下板子,,在官方提供的開(kāi)發(fā)資料里面可以找到例程壓縮包和下載器,,例程和相關(guān)資料的下載連接:搜索 CH579 - 南京沁恒微電子股份有限公司 (wch.cn)
下載以后先安裝下載器,然后解壓例程壓縮包,。
在壓縮包的這個(gè)路徑下:\CH579EVT\EVT\PUB,,有CH57X芯片的keil pack文件,先點(diǎn)擊安裝,。
有keil就可以直接next默認(rèn)安裝,,沒(méi)有keil的要先安裝keil。我這臺(tái)電腦已經(jīng)裝了keil所以顯示的安裝路徑就是keil的packs路徑,。安裝好以后就可以打開(kāi)一個(gè)例程進(jìn)行編譯下載測(cè)試了,。我選擇比較簡(jiǎn)單的UART例程。打開(kāi)以后可以看到它的功能就是上電先配置IO,,然后配置串口UART1,,發(fā)送一串字符串,字符串定義在主函數(shù)前面,。注意:例程里的串口速率默認(rèn)配置為115200,,在uart.c文件中可以看到,可以手動(dòng)更改,。
編譯成功以后就可以下載了,,CH57X芯片支持多種下載方式:串口、usb,、swd,。具體的下載教程在這個(gè)官方文檔中:http://forexkbc.com/resource/share/2000003005
我使用的是串口下載,先用杜邦線連接好usb轉(zhuǎn)串口模塊和開(kāi)發(fā)板,,按住download鍵以后再上電,就可以進(jìn)行一次下載,,每次下載完成后,,都要重復(fù)一次進(jìn)入download模式才能進(jìn)行下一次下載。
打開(kāi)之前安裝的官方下載工具,,選擇對(duì)應(yīng)的芯片系列,,選擇芯片信號(hào),我的就是CH579了,,選擇串口下載,,當(dāng)然也可以用usb下載,找根type-c線連接電腦就行,,上電操作也是一樣的,。然后搜索,找到對(duì)應(yīng)的串口,。之后添加hex文件,,點(diǎn)擊下載就可以了,。
使用串口調(diào)試助手進(jìn)行簡(jiǎn)單的測(cè)試,復(fù)位以后會(huì)先發(fā)送串語(yǔ)句,,然后不斷的將接收到的數(shù)據(jù)發(fā)送回來(lái),,效果如下圖。
接下來(lái)的重點(diǎn)當(dāng)然是要測(cè)試一下CH579M這塊開(kāi)發(fā)板的藍(lán)牙功能,。在歷程的BLE文件夾下面有很多藍(lán)牙例程,,我們選擇一個(gè)HID_Consumer這個(gè)例程進(jìn)行編譯下載,這個(gè)代碼主要的功能就是在連接手機(jī)后,,每隔幾秒向手機(jī)發(fā)送“音量-”的按鍵信息,,如果手機(jī)打開(kāi)相機(jī),就可以每隔幾秒拍一張照片,。演示效果如下,,開(kāi)發(fā)板的藍(lán)牙設(shè)備名稱(chēng)就是HID Consumer,識(shí)別為一個(gè)控制器,。
作為初學(xué)者,,目前只能測(cè)到這里啦。整個(gè)藍(lán)牙協(xié)議相對(duì)來(lái)說(shuō)還是比較復(fù)雜的,,同時(shí)沁恒微還針對(duì)藍(lán)牙協(xié)議棧開(kāi)發(fā)了一套專(zhuān)用的操作系統(tǒng)TMOS,,對(duì)于操作系統(tǒng)來(lái)說(shuō)我還是初學(xué)者,如果想要學(xué)習(xí)沁恒微的藍(lán)牙開(kāi)發(fā),,可以先從這篇博客TMOS使用說(shuō)明 - Wahahahehehe - 博客園 (cnblogs.com)開(kāi)始了解,,也可以下載沁恒微TMOS的官方文檔1621404024192636.pdf (wch.cn)學(xué)習(xí)。
總結(jié)來(lái)說(shuō),,這塊開(kāi)發(fā)板的做工不錯(cuò),,硬件資源很全,美中不足就是如果能擠出一個(gè)位置給一個(gè)用戶自定義按鍵就好了,,這樣使用剛才那個(gè)藍(lán)牙拍照的例程就可以完成一個(gè)遠(yuǎn)程拍照按鈕的功能,,可玩性會(huì)更高。最重要的是,,官方提供的開(kāi)發(fā)資料和開(kāi)發(fā)工具非常齊全,,資料寫(xiě)的也很詳細(xì),無(wú)論是初學(xué)者還是項(xiàng)目開(kāi)發(fā),,有這樣的一套開(kāi)發(fā)資源都會(huì)讓學(xué)習(xí)和開(kāi)發(fā)過(guò)程省力很多,。
最后給大家看一下我目前基于CH579芯片設(shè)計(jì)的一個(gè)藍(lán)牙模塊的原理圖,使用的軟件是LC-EDA Pro,,目前只將最小系統(tǒng)和藍(lán)牙天線部分畫(huà)完了,,參考的是官方的開(kāi)發(fā)板原理圖。