发帖
2 2 0

【Ai-WB2-32S-Kit】排坑+点亮三色LED灯(一)

BETCuser
中级会员

6

主题

5

回帖

441

积分

中级会员

积分
441
Ai-WB2系列 64 2 2025-4-8 12:45:37
[i=s] 本帖最后由 BETCuser 于 2025-4-8 12:45 编辑 [/i]

1.排坑

这部分主要是在使用官方环境配置是出现的小坑。有的已经很多小伙伴讲过了,我把我遇到的坑再总结下,方便后面小伙伴查找

参考如下:

【Ai-WB2入门篇】搭建windows+eclipse环境

https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45149

【Ai-WB2入门篇】新建工程和烧录指导

https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=45156

1.1不要git下载!不要git下载!不要git下载!

git下载后没有RISC GCC,所以一定要通过百度云盘下载,下载地址:https://pan.baidu.com/s/1LSK2ggw3dkLaJmqrQYJrMQ?pwd=1234#list/path=%2F

踩坑1.png

1.2 无法找到makefile project

教程中的makefile project在最新版本eclipse的file-Import中如下图所示

踩坑2.png

1.3安装eclipse要选择嵌入式C/C++,不要选择普通的C/C++,否则无法出现RISC-V交叉编译GCC

image.png

2.点灯

2.1红绿蓝三色灯依次亮灭试验,即蓝-蓝绿-绿-绿红-红-红蓝顺序亮灭

代码如下:

#include <stdio.h>
#include <string.h>
#include <FreeRTOS.h>
#include <task.h>
#include <bl_gpio.h>

#define GPIO_BLUELED_PIN 3
#define GPIO_REDLED_PIN 14
#define GPIO_GREENLED_PIN 17

void blink_test(void *param)
{
    uint8_t value = 1;
    while (1)
    {
        bl_gpio_enable_output(GPIO_BLUELED_PIN, 0, 0);
        printf("Turning the LED %s! \r\n", value == 1 ? "ON" : "OFF");
        bl_gpio_output_set(GPIO_BLUELED_PIN, value);
        value = !value;
        vTaskDelay(1000);
        bl_gpio_enable_output(GPIO_REDLED_PIN, 0, 0);
        printf("Turning the LED %s! \r\n", value == 1 ? "ON" : "OFF");
        bl_gpio_output_set(GPIO_REDLED_PIN, value);
        value = !value;
        vTaskDelay(1000);
        bl_gpio_enable_output(GPIO_GREENLED_PIN, 0, 0);
        printf("Turning the LED %s! \r\n", value == 1 ? "ON" : "OFF");
        bl_gpio_output_set(GPIO_GREENLED_PIN, value);
        value = !value;
        vTaskDelay(1000);
    }
}

void main(void)
{
    xTaskCreate(blink_test, "blink", 1024, NULL, 15, NULL);
}

效果如下:

mmexport1744087233878.gif

后续将研究一下如何使用PWM控制LED实现呼吸灯的效果~

──── 2人觉得很赞 ────

使用道具 举报

2025-4-8 14:22:21
不错哟
赞~
您需要登录后才可以回帖 立即登录
高级模式
返回
统计信息
  • 会员数: 28427 个
  • 话题数: 40507 篇