AWorks是ZLG歷時(shí)12年開發(fā)的下一代嵌入式開發(fā)平臺(tái),支持組件“可插拔、可替換、可配置”,用戶只需修改相應(yīng)的頭文件,即可實(shí)現(xiàn)“一次編程、終生使用、跨平臺(tái)”,本文為大家介紹AWorks點(diǎn)亮一個(gè)LED燈簡(jiǎn)單例程,帶大家感受AWorks的魅力!
1核心板簡(jiǎn)介
M1052跨界核心板板載Cortex-M7的RT1050處理器,既具備MPU的強(qiáng)勁處理性能,又兼?zhèn)?a target="_blank">MCU微控制器的簡(jiǎn)單易用與實(shí)時(shí)性優(yōu)勢(shì)!M1052集成WiFi/LoRa/ZigBee/Mifare無線功能,并預(yù)裝AWorks實(shí)時(shí)操作系統(tǒng),面向智能硬件與工業(yè)物聯(lián)網(wǎng)方向應(yīng)用設(shè)計(jì)。
M1052核心板
2AWorks點(diǎn)亮LED過程
本例程我們用到的AWorks開發(fā)環(huán)境Eclipse以及硬件評(píng)估底板如圖所示:
Eclipse開發(fā)環(huán)境
硬件評(píng)估底板
AWorks的開發(fā)環(huán)境的搭建在我司提供的光盤資料的《AWorks M1050 SDK 快速入門文檔 V1.01》文檔的第2節(jié)已經(jīng)有了詳細(xì)介紹,該資料在ZLG立功科技·致遠(yuǎn)電子官網(wǎng)可以免費(fèi)下載,在此不做贅述。下面我們從軟件和硬件兩個(gè)角度來介紹如何點(diǎn)亮一個(gè)LED燈。
3硬件電路介紹:
LED燈電路圖
M1052核心板控制LED燈接口引腳電路圖
M105x-EV-Board底板上LED燈連接的是核心板B42引腳,該引腳有可以復(fù)用為UART2接收信號(hào)、USB_OTG1_OC、QTIMER3_TIMER3等功能,此時(shí)我們不開啟復(fù)用功能,將此引腳值當(dāng)做一個(gè)普通GPIO1_IO19使用。
4AWorks軟件接口介紹:
AWorks對(duì)常見的外部設(shè)備進(jìn)行了統(tǒng)一的抽象,定義了方位外部設(shè)備的通用接口。比如LED、蜂鳴器、數(shù)碼管、按鍵等。應(yīng)用程序基于通用接口編程,將使應(yīng)用程序不與具體的硬件設(shè)備綁定,換句話說,應(yīng)用程序可以跨平臺(tái)復(fù)用,在任何運(yùn)行AWorks的硬件平臺(tái)上運(yùn)行。
通用LED接口,如圖所示:
通用LED接口
在本例中我們用到了上述所有的4個(gè)接口函數(shù),下面我們對(duì)這4個(gè)接口函數(shù)做簡(jiǎn)單介紹(詳細(xì)介紹請(qǐng)參考《面向AWorks框架和接口的編程(上)》第6章6.1節(jié)內(nèi)容)。
1、設(shè)置LED狀態(tài)
aw_err_t aw_led_set(int id,aw_bool_t on);
id為L(zhǎng)ED編號(hào),系統(tǒng)為每個(gè)LED都分配了一個(gè)唯一ID。布爾類型on參數(shù)標(biāo)明是否點(diǎn)亮LED,值A(chǔ)W_TURE表示點(diǎn)亮LED,AW_FALSE表示熄滅LED。
2、點(diǎn)亮LED
aw_err_t aw_led_on(int id);
id 為L(zhǎng)ED編號(hào),函數(shù)返回值為標(biāo)準(zhǔn)錯(cuò)誤號(hào)。
3、熄滅LED
aw_err_t aw_led_off(int id);
id 為L(zhǎng)ED編號(hào),函數(shù)返回值為標(biāo)準(zhǔn)錯(cuò)誤號(hào)。
4、翻轉(zhuǎn)LED的狀態(tài)
aw_err_t aw_led_toggle(int id);
翻轉(zhuǎn)LED的狀態(tài)就是使LED由點(diǎn)亮狀態(tài)轉(zhuǎn)變?yōu)橄鐮顟B(tài)或由熄滅狀態(tài)轉(zhuǎn)變?yōu)辄c(diǎn)亮狀態(tài),其中,id為L(zhǎng)ED編號(hào)。
上述的LED接口函數(shù)在aw_led.h頭文件中都有聲明,若使用這些LED接口函數(shù)則在代碼中必須包含該頭文件。另外我們還需要在aw_prj_params.h文件中開啟LED的宏定義,如圖所示:
開啟LED的宏定義
LED的Demo程序代碼如下:
LEDDemo程序
此時(shí)我們將該函數(shù)做成一個(gè)任務(wù)(有關(guān)任務(wù)的創(chuàng)建和管理請(qǐng)參考《面向AWorks框架和接口的編程(上)》第10章10.1節(jié)內(nèi)容)
LED任務(wù)代碼
然后我們?cè)赼w_main函數(shù)中調(diào)用該任務(wù)
aw_main函數(shù)
最后我們編譯該工程生成.elf文件,如圖所示
工程編譯成功
通過調(diào)試窗口可以將編譯好的代碼燒寫到板子中,最終的現(xiàn)象是LED燈每隔500ms亮一次。
LEDDemo調(diào)試窗口
5MPU的處理性能,MCU的開發(fā)方式
M1052跨界核心板搭載NXP i.MX RT105x處理器,主頻高達(dá)528MHz,RT105x基于應(yīng)用處理器的架構(gòu)方式,采用MCU內(nèi)核,既能實(shí)現(xiàn)應(yīng)用處理器的高性能、豐富的功能外設(shè)及多樣化的入網(wǎng)接口方式,又兼具傳統(tǒng)MCU的易用性和實(shí)時(shí)低功耗運(yùn)行特性。
M1052核心板
6AWorks IoT實(shí)時(shí)操作系統(tǒng)
M1052跨界核心板內(nèi)置AWorks IoT實(shí)時(shí)操作系統(tǒng),AWorks IoT實(shí)時(shí)操作系統(tǒng)是采用面向框架的設(shè)計(jì)架構(gòu),支持平臺(tái)組件“可插拔、可替換、可配置”、與硬件無關(guān)、與操作系統(tǒng)種類無關(guān)的方式設(shè)計(jì),用戶只需修改相應(yīng)的頭文件,即可實(shí)現(xiàn)應(yīng)用代碼的跨平臺(tái)復(fù)用。
-
led燈
+關(guān)注
關(guān)注
22文章
1592瀏覽量
108108 -
AWorks
+關(guān)注
關(guān)注
1文章
16瀏覽量
5710
原文標(biāo)題:【入門教程】如何用AWorks點(diǎn)亮一個(gè)LED燈
文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論