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 范例



测试结果




相关资讯连结:

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能