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