MediaTek Genio 130/130A 快速上手(六)



接續上一篇博文: MediaTek Genio 130/130A 快速上手(五),我們已利用 SDK 實作了 UART 範例。

本篇將會帶大家實作另一個範例:SPI LED control
  • 以 Genio 130A HDK 做開發
  • Pin 腳選用及 Pinmux 設定
  • 實作 Application function、CLI command
  • 測試結果

範例:SPI LED control

SPI 介面廣泛的應用在周邊裝置的通訊及控制上,本篇博文利用 SPI 來控制 RGB LED 燈,實現 LED 點亮、色彩控制等功能。
** RGB LED 僅需要 SPI Clock 以及 MOSI 兩 pin 即可。




GPIO pin selection

參考由 AcSip 群登科技提供的 HDK User Guide,我們選用 GPIO_6、GPIO_9 作為 SPI0 的 Clock 以及 MOSI



hal pinmux 設定方式與前篇博文相同,都是呼叫 fundion hal_pinmux_set_function() 來完成


SPI Application & LED command 

MediaTek Genio 130/130A SDK 的 SPI 提供 Polling mode 與 DMA mode 兩種模式,本篇將使用 Polling mode 實作。透過以下流程實作 Polling mode SPI 初始化以及資料收發的功能:

SPI Master 運作流程

SPI Master 初始化


SPI Master 資料收發


LED 控制部分,我們透過建立 CLI command 將 LED 控制命令串接到 SPI API function



Build image & flash

以下是本篇範例修改/新增的程式檔(參考)

需要修改的檔案
  • GCC/feature.mk
  • GCC/Makefile
  • src/cli_cmd.c
需要新增的檔案
  • inc/spi_led.h
  • src/spi_led.c
編譯範例程式,並將 image 燒錄至 Genio 130A HDK 




測試

我們將 Genio 130A HDK 重新啟動,在 console 可以查找到 SPI LED CLI command 以及說明



CLI command 範例



測試結果




相關資訊連結:

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源