[平头哥RVB2601创意应用开发]体验分享二:多种方式点灯,组件学习
[复制链接]
本帖最后由 wo4fisher 于 2022-3-19 22:07 编辑
使用MCU点灯,经过了YOC层层包装之后,点灯便不再只有一种玩法。
1、使用YOC的AOS API之HAL硬件抽象层接口点灯 GPIO · GitBook (t-head.cn)
对于不同底层驱动的gpio操作实现,统一封装成本文所述hal接口。上层使用相关功能时,统一调用hal层接口,以保证app的通用性。 hal相关头文件位于目录: hal相关实现位于具体的mcu目录下
驱动接口如下:(使用时包含头文件:)
#include "aos/hal/gpio.h"
可以实现GPIO输出高电平、低电平、反转操作。
2、使用YOC的AOS API之CSI2的GPIO_PIN设备 GPIO_PIN · GitBook (t-head.cn)
GPIO(General-purpose input/output) 通用型之输入输出的简称。在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通过CPU控制,有的需要CPU提供输入信号。并且,许多设备或电路只要求有开/关两种状态就够了,比如LED的亮与灭。对这些设备的控制,使用传统的串口或者并口就显得比较复杂,所以,在嵌入式微处理器上通常提供了一种“通用可编程I/O端口”,也就是GPIO。
使用时包含头文件
#include <drv/gpio_pin.h>
可以实现GPIO输出高电平、低电平、反转操作。
3、使用YOC的AOS API之CSI2的GPIO设备GPIO · GitBook (t-head.cn)
GPIO(General-purpose input/output) 通用型之输入输出的简称。在嵌入式系统中,经常需要控制许多结构简单的外部设备或者电路,这些设备有的需要通过CPU控制,有的需要CPU提供输入信号。并且,许多设备或电路只要求有开/关两种状态就够了,比如LED的亮与灭。对这些设备的控制,使用传统的串口或者并口就显得比较复杂,所以,在嵌入式微处理器上通常提供了一种“通用可编程I/O端口”,也就是GPIO。
其实这里有个疑问,就是GPIO和上边的GPIO_PIN设备,官方文档解释内容是一样的,操作接口看上去也是基本一样的。
使用时包含头文件:
#include <drv/gpio.h>
可以实现GPIO输出高电平、低电平、反转操作。
此外,AOS API的csi还有csi1,官方的解释
CSI 是针对嵌入式系统,定义了CPU内核移植 接口、外围设备操作接口统一软件接口规范,消除不同芯片的差异,简化软件的使用及提高软件的移植性。通过CSI 接口规范,可以快速实现芯片对接到YoC 平台。
CSI 的具体内容包括:
- CSI-CORE:定义了CPU和相关紧耦合外设的接口规范
- CSI-DRIVER:定义了常用的驱动的接口规范
- CSI-KERNEL: 定义实时操作系统的接口规范
注:CSI2驱动接口比CSI1在代码密度上有较大提升
4、 使用YOC的AOS API之PWM设备PWM · GitBook (t-head.cn)
脉冲宽度调制(Pulse width modulation,简称PWM)是一种强大的模拟信号数字编码技术,它利用高分辨率计数器产生方波,并通过调制方波占空比对模拟信号进行编码。
使用时包含头文件:
#include <drv/pwm.h>
5、源码及使用方法
根据官方helloworld例程创建工程,然后再app下新建LED文件夹,将myled.c和myled.h文件放入LED文件夹。
根据main.c修改main.c文件。
打开myled.h,根据类型选择宏定义即可。
myled.h
(316 Bytes, 下载次数: 1)
main.c
(893 Bytes, 下载次数: 0)
myled.c
(4.05 KB, 下载次数: 0)
下一篇:按键输入
|