一、介绍
AB32VG1 开发板是以中科蓝讯 (Bluetrum) 公司推出的基于RISC-V 架构的高配置芯片 AB32VG1 为核心所组成的。
· CPU: AB32VG1 (LQFP48 封装,主频 120M ,片上集成
RAM 192K, flash 8Mbit,ADC,PWM,USB,UART,IIC 等资源)
· 搭载蓝牙模块
· 搭载FM模块
· 一路 TF Card 接口
· 一路 USB 接口
· 一路 IIC 接口
· 一路音频接口 (美标 CtiA)
· 六路 ADC 输入引脚端子引出
· 六路 PWM 输出引脚端子引出
· 一个全彩 LED 灯模块,一个电源指示灯,三个烧录指示灯
· 一个 IRDA (红外接收端口)
· 一个 Reset 按键,三个功能按键 (通用版为两个功能按键 )
· 板子规格尺寸:6cm * 9cm
扩展接口,方便二次开发
二、实验准备
第一步:
安装 rt-thread studio 默认安装即可
第二步:
配置安装 rt-thread studio
三、创建第一个项目
·引脚PA1对应RGB灯的蓝灯
· 引脚PE1对应RGB灯的红灯
· 引脚PE4对应RGB灯的绿灯
RGB为共阴极。
- *.h文件
- #ifndef __LED_H__
- #define __LED_H__
- #include "board.h"
- #define ON 1
- #define OFF 0
- struct RGBLeds {
- uint8_t LED_R;
- uint8_t LED_B;
- uint8_t LED_G;
- };
- void RGBLeds_Init(void);
- void RGBLeds_Red(rt_bool_t status);
- void RGBLeds_Blue(rt_bool_t status);
- void RGBLeds_Green(rt_bool_t status);
- void RunningWaterLamp(void);
- #endif
复制代码
- *.c文件
- #include "led.h"
- struct RGBLeds Led;
- void RGBLeds_Init(void){
- // 获得led成员对应引脚地址
- Led.LED_R = rt_pin_get("PE.1");
- Led.LED_G = rt_pin_get("PE.4");
- Led.LED_B = rt_pin_get("PA.1");
- // 设置引脚为输出方式
- rt_pin_mode(Led.LED_R, PIN_MODE_OUTPUT);
- rt_pin_mode(Led.LED_G, PIN_MODE_OUTPUT);
- rt_pin_mode(Led.LED_B, PIN_MODE_OUTPUT);
- }
- void RGBLeds_Red(rt_bool_t status){
- if (status) {
- rt_pin_write(Led.LED_R, PIN_LOW);
- }else {
- rt_pin_write(Led.LED_R, PIN_HIGH);
- }
- rt_pin_write(Led.LED_G, PIN_HIGH);
- rt_pin_write(Led.LED_B, PIN_HIGH);
- }
- void RGBLeds_Blue(rt_bool_t status){
- if (status) {
- rt_pin_write(Led.LED_B, PIN_LOW);
- }else {
- rt_pin_write(Led.LED_B, PIN_HIGH);
- }
- rt_pin_write(Led.LED_G, PIN_HIGH);
- rt_pin_write(Led.LED_R, PIN_HIGH);
- }
- void RGBLeds_Green(rt_bool_t status){
- if (status) {
- rt_pin_write(Led.LED_G, PIN_LOW);
- }else {
- rt_pin_write(Led.LED_G, PIN_HIGH);
- }
- rt_pin_write(Led.LED_R, PIN_HIGH);
- rt_pin_write(Led.LED_B, PIN_HIGH);
- }
- void RunningWaterLamp(void){
- RGBLeds_Red(ON);
- mdelay(500);
- RGBLeds_Red(OFF);
- RGBLeds_Blue(ON);
- mdelay(500);
- RGBLeds_Blue(OFF);
- RGBLeds_Green(ON);
- mdelay(500);
- RGBLeds_Green(OFF);
- RGBLeds_Red(ON);
- RGBLeds_Blue(ON);
- mdelay(500);
- RGBLeds_Red(OFF);
- RGBLeds_Blue(OFF);
- RGBLeds_Red(ON);
- RGBLeds_Blue(ON);
- RGBLeds_Green(ON);
- mdelay(500);
- RGBLeds_Red(OFF);
- RGBLeds_Blue(OFF);
- RGBLeds_Green(OFF);
- mdelay(500);
- }
复制代码
- 主函数:
- #include "led/led.h"
- int main(void)
- {
- RGBLeds_Init();
- while (1)
- {
- RunningWaterLamp();
- }
- }
复制代码
四、下载RT-Thread固件
J5 为连接待烧录芯片
J1 两引脚为烧录端供电
五、实验现象
|