首頁(yè) > 評(píng)測(cè) > 簡(jiǎn)約而不簡(jiǎn)單的好奇心——Microchip Curiosity開(kāi)發(fā)板評(píng)測(cè)
簡(jiǎn)約而不簡(jiǎn)單的好奇心——Microchip Curiosity開(kāi)發(fā)板評(píng)測(cè)
- [導(dǎo)讀]
- 現(xiàn)在不少人都認(rèn)為,8位和16位MCU即將消亡,32位MCU性價(jià)比和功耗方面更具有優(yōu)勢(shì)。然而Mcicrochip并沒(méi)有放棄和削減8位PIC的市場(chǎng),相反地,在去年年中,Microchip推出了一款全新的Curiosity開(kāi)發(fā)板。
Curiosity開(kāi)發(fā)板上還帶有RN4020 藍(lán)牙模塊接口。以前Microchip公司是沒(méi)有藍(lán)牙產(chǎn)品的,但是自從去年收購(gòu)了臺(tái)灣的ISSC(創(chuàng)杰科技)公司后,Microchip在藍(lán)牙方面也有了很強(qiáng)的實(shí)力。RN4020 藍(lán)牙模塊就是Microchip公司自己生產(chǎn)的藍(lán)牙模塊,它支持藍(lán)牙BLE 4.1,最大輸出功率是7dBm,通信距離最遠(yuǎn)可以超過(guò)100米,比一般的藍(lán)牙BLE模塊性能更好。模塊內(nèi)部的固件可以通過(guò)串口或者無(wú)線方式(OTA)進(jìn)行升級(jí)。RN4020模塊體積非常小,連天線一起只有11.5 x 19.5 x 2.5mm,比一般人的拇指還小很多。RN4020模塊通過(guò)串口命令進(jìn)行控制,類似于AT命令那樣,容易使用。可惜因?yàn)槭诌厸](méi)有這個(gè)模塊,所以這次就不能進(jìn)行相關(guān)的測(cè)試,等有機(jī)會(huì)拿到RN4020模塊時(shí)在給大家補(bǔ)上了。更多關(guān)于RN4020模塊的說(shuō)明請(qǐng)大家參考RN4020模塊的官方網(wǎng)站:
http://www.microchip.com/wwwproducts/Devices.aspx?product=RN4020。
板載例程的測(cè)試
雖然Curiosity開(kāi)發(fā)板支持多種單片機(jī)(目前網(wǎng)站上列出的型號(hào)都是普通電壓的,共有46種,如果加上LF低壓型的就更多了),但是出廠時(shí)只帶有一個(gè)DIP 20pin的PIC16F1619單片機(jī)。出廠時(shí),這個(gè)芯片里就自帶了演示程序,用于快速評(píng)估開(kāi)發(fā)板的各種功能。這個(gè)演示程序的功能簡(jiǎn)潔明了,演示了普通按鍵、mTouch觸摸按鍵、ADC、PWM的用法。當(dāng)按下普通按鍵S1時(shí),發(fā)光二極管D4會(huì)隨著S1按下而點(diǎn)亮,釋放S1時(shí)D4就會(huì)熄滅;而發(fā)光二極管D6會(huì)跟隨觸摸按鍵mTouch Button的狀態(tài)而變化,當(dāng)觸摸按鍵按下時(shí)發(fā)光二極管D6會(huì)亮;而旋轉(zhuǎn)電位器POT1時(shí),發(fā)光二極管D7的亮度會(huì)隨著電位器的位置而變化,這個(gè)功能使用到了ADC和PWM兩個(gè)功能模塊,先通過(guò)RC0(AN4)獲取電位器上的電壓,然后通過(guò)控制RC5輸出PWM信號(hào)的占空比來(lái)改變LED的亮度。
默認(rèn)這個(gè)例程沒(méi)有提供源代碼,Curiosity開(kāi)發(fā)板網(wǎng)站上提供的PIC16F1619單片機(jī)例程和開(kāi)發(fā)板默認(rèn)的程序不同,功能更多,也更復(fù)雜一些。例程文件里還有一個(gè)readme.pdf文件,里面以課程的方式介紹了各種功能模塊的使用,通過(guò)這些課程可以快速掌握不同模塊的用法,特別適合初學(xué)者。下面我們就詳細(xì)介紹一下這個(gè)例程。
在開(kāi)始測(cè)試前,首先需要先檢查一下MPLAB X IDE的版本,如果MPLAB X IDE的版本低于3.0.5,就需要升級(jí)才行,因?yàn)橹挥?.0.5以上的版本才能識(shí)別出板載的Starter Kits(PK0B)仿真器。注意舊的MPLAB IDE是不支持Curiosity開(kāi)發(fā)板的。
然后從Curiosity開(kāi)發(fā)板網(wǎng)站下載PIC16F1619單片機(jī)的例程和文檔。開(kāi)發(fā)板的網(wǎng)站是:
http://www.microchip.com/pagehandler/zh-cn/family/8bit/devboards/curiosity.html
例程的直接下載地址是:
http://ww1.microchip.com/downloads/en/DeviceDoc/PIC16F1619_Curiosity.zip
下載例程后,將它展開(kāi)到硬盤(pán)(盡量不要使用中文路徑),運(yùn)行MPLAB X IDE并打開(kāi)例程,可以看到主程序很短,演示了GPIO、閃燈、跑馬燈、ADC、PWM、定時(shí)器、中斷、休眠、Flash讀寫(xiě)等10個(gè)功能,從函數(shù)名就可以直觀的看出每個(gè)函數(shù)演示的功能。不同功能是通過(guò)函數(shù)Switch()進(jìn)行觸發(fā),然后由語(yǔ)句switch(labNumber)選擇進(jìn)入某個(gè)演示功能。
而Switch()函數(shù)主要功能就是判斷用戶按鍵S1的狀態(tài),當(dāng)按鍵按下時(shí)開(kāi)始判斷,當(dāng)按鍵釋放時(shí)才設(shè)置標(biāo)志位,通知主程序切換到下一個(gè)演示功能。Switch()函數(shù)的代碼如下:
在項(xiàng)目屬性中,可以檢查項(xiàng)目的參數(shù)設(shè)置?梢钥吹絊tarter Kit(PK0B)仿真器的設(shè)置和其他仿真器差不多,但是功能比較少,可以看作是PICKit3的簡(jiǎn)化版。
編譯例程并下載到芯片,就能夠運(yùn)行并測(cè)試每個(gè)函數(shù)。按下用戶按鍵S1(這個(gè)例程暫時(shí)還不支持mTouch),可以切換測(cè)試內(nèi)容,也可以在MPLAB X IDE中設(shè)置斷點(diǎn),觀察變量,了解每個(gè)函數(shù)的用法。例程使用了MCC(MPLAB Code Configurator)產(chǎn)生代碼,產(chǎn)生的代碼可讀性很好,通過(guò)名稱可以直觀看出它的功能,可以簡(jiǎn)化用戶參數(shù)配置過(guò)程,加快開(kāi)發(fā)速度。使用MCC可以快速分配引腳和設(shè)置外設(shè)的功能,只要先選擇需要的功能模塊,然后設(shè)置參數(shù),就能夠自動(dòng)產(chǎn)生代碼。
MCC的使用很方便,從中隱約可以看到有Freescale的著名開(kāi)發(fā)軟件Processor Expert的影子,一些操作習(xí)慣和代碼風(fēng)格都有些類似。關(guān)于MCC的使用,我們會(huì)在下一篇中在仔細(xì)介紹。
從前面的介紹中,我們可以看出Curiosity開(kāi)發(fā)板是一個(gè)很適合初學(xué)者的開(kāi)發(fā)板,支持最新的開(kāi)發(fā)軟件、板載調(diào)試器、帶有多種外設(shè)、方便連接擴(kuò)展板、帶有藍(lán)牙模塊接口,可以充分發(fā)揮新型號(hào)的8位單片機(jī)特點(diǎn),快速驗(yàn)證軟件設(shè)計(jì),讓單片機(jī)開(kāi)發(fā)變得輕松和簡(jiǎn)單。
不過(guò)遺憾的是,Curiosity開(kāi)發(fā)板沒(méi)有帶有功耗測(cè)量功能,這樣就不能直觀的調(diào)試和觀察程序的功耗狀態(tài),不能為低功耗的程序進(jìn)行充分優(yōu)化,而低功耗也是新型號(hào)PIC單片機(jī)的一大特點(diǎn)。其他主流MCU廠家都推出了帶功耗測(cè)量的開(kāi)發(fā)板,如ATMEL的SAML21 Xplained開(kāi)發(fā)板、TI的MSP432開(kāi)發(fā)板、Silabs的EFM32/EFM8開(kāi)發(fā)板等都帶有功耗測(cè)量功能。功耗測(cè)量能夠在開(kāi)發(fā)軟件中直接使用,可以在程序運(yùn)行、仿真的同時(shí)實(shí)時(shí)測(cè)量運(yùn)行功耗,甚至支持源碼級(jí)的功耗調(diào)試,幫助用戶優(yōu)化程序。希望在后續(xù)的Microchip開(kāi)發(fā)板中,可以增加功耗測(cè)量功能,幫助使用者優(yōu)化程序的功耗設(shè)計(jì)。
- 本文系21ic原創(chuàng),未經(jīng)許可禁止轉(zhuǎn)載!
網(wǎng)友評(píng)論
- 聯(lián)系人:巧克力娃娃
- 郵箱:board@21ic.com
- 我要投稿
-
歡迎入駐,開(kāi)放投稿
- NRF52810藍(lán)牙數(shù)字耳機(jī)找人定制
預(yù)算:¥30005天前
- 125KW模塊式PCS軟硬件外包開(kāi)發(fā)
預(yù)算:¥1100000015小時(shí)前
- 12V汽車啟動(dòng)電源項(xiàng)目BMS設(shè)計(jì)
預(yù)算:¥50000023小時(shí)前
- 數(shù)據(jù)可視化軟件 開(kāi)發(fā)
預(yù)算:¥5000023小時(shí)前
- PLC項(xiàng)目調(diào)試修改
預(yù)算:¥100001天前
- 起動(dòng)電機(jī)控制器開(kāi)發(fā)
預(yù)算:¥1100001天前