本帖最后由 Binkolo 于 2024-5-5 13:44 编辑
本帖最后由 Binkolo 于 2024-5-5 13:42 编辑
本帖最后由 Binkolo 于 2024-5-5 13:33 编辑
本帖最后由 Binkolo 于 2024-5-5 13:30 编辑
本帖最后由 Binkolo 于 2024-5-5 13:28 编辑
1. 环境搭建
1.1 安装工具:Git、VSCode
百度安装就好,我本来就有,不过多赘述,详情可以参考链接:
Git 详细安装教程(详解 Git 安装过程的每一个步骤)_git安装-CSDN博客
VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了_vscode使用教程-CSDN博客
1.2 下载开发工具
可以使用Git工具下载,但我觉得太麻烦了,直接下载了文件。
在这个帖子里下载:小安派Windows环境一git到位资源包 - 小安派S1&M61教程合集
下载、解压、如图所示:
1.3 配置环境变量
桌面图标此电脑右键->属性->高级系统设置->环境变量->找到系统(或者用户)中的名称为PATH的变量双击->双击最下面空白->添加上三个对应的路径(每个人的文件路径不同)
1.4 测试
1.4.1 测试环境变量
测试一下环境变量是否配置成功,有输出版本信息的就成功了,没有的话,建议检测一下环境变量的路径。
make -v
riscv64-unknown-elf-gcc -v
1.4.2 编译HelloWorld
编译一个HelloWorld看看
- 用VScode打开aithinker_Ai-M6X_SDK文件夹
- 用集成终端打开HelloWorld文件夹
- 在终端中输入make,编译文件
- 检查输出是否100%,输出了xxx.bin文件和xxx.elf文件,并且没有红色错误文件。
2. 祖传点灯
2.1 查原理图
要点灯肯定先看看灯的电路,查一下官方文档:docs.ai-thinker.com/_media/nodemcu-ai-m61-32s-kit_v1.1.pdf
板子上有两种灯:
一种是普通LED灯,对应的IO29、IO27。
一种是RGB灯,对应的是IO12、IO14、IO15、分别表示RGB的不同的值
2.2 GPIO控制
看一下论坛的GPIO控制方法:(七)零基础开发小安派-Eyes-S1【外设篇】——GPIO输入输出 - 小安派S1&M61教程合集
教程中的GPIO控制方法写的很详细了,修改一下直接用就好,可以把helloworld的文件拷贝一份,修改文件夹名称为:LED
然后修改一下main.c代码:
#include "bflb_gpio.h" //gpio头文件
#include "bflb_mtimer.h" //mtimer定时器头文件,可使用里面的延时函数
#include "board.h" //开发板头文件,包含LHAL库等
struct bflb_device_s *gpio; //初始化一个结构体指针作为外设句柄命名为gpio,
int main(void)
{
board_init(); //开发板初始化
gpio = bflb_device_get_by_name("gpio"); //给前面的gpio句柄赋值对外设进行操作,这里的名字
//可使用的外设全部命名在bl616_device_table这个结构体数组里,我们所有使用的外设命名与上面列表中支持的外设列表
//也可以在函数定义里查看所有可支持的外设名称,命名一定要匹配。
printf("gpio output\r\n"); //printf函数已经重定义为输出在串口0上,我们作为LOG查看
bflb_gpio_init(gpio, GPIO_PIN_29, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
//gpio初始化,第一个参数为句柄,第二个参数为pin,第三个为GPIO的配置,这里配置为输出、浮空、滤波打开、驱动等级0
bflb_gpio_init(gpio, GPIO_PIN_27, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
//gpio初始化,第一个参数为句柄,第二个参数为pin,第三个为GPIO的配置,这里配置为输出、浮空、滤波打开、驱动等级0
while (1) {
bflb_gpio_set(gpio, GPIO_PIN_29); //将pin29设置为高电平
bflb_mtimer_delay_ms(2000); //延迟2000毫秒,也就是2秒
bflb_gpio_reset(gpio, GPIO_PIN_29); //将pin29设置为低电平
bflb_mtimer_delay_ms(2000); //延迟2000毫秒,也就是2秒
bflb_gpio_set(gpio, GPIO_PIN_27);
bflb_mtimer_delay_ms(2000);
bflb_gpio_reset(gpio, GPIO_PIN_27);
bflb_mtimer_delay_ms(2000);
}
}
2.3 编译LED闪烁程序
-
修改一下cmake.list文件夹的工程名称和flash_prog_cfg.ini文件的bin文件名称
-
打开LED文件夹的终端
-
输入make编译
-
看到100%表示成功
2.4 刷写程序
-
打开控制面板->设备管理器->端口;查看那个CH340的端口号是多少。
-
数据线连接板子
-
按住IO2按钮不松
-
按住EN按钮等两秒,松开EN按钮
-
在终端中输入make flash CHIP=bl616 COMX=COM17,刷写程序 (注意:COM17修改为你的设备端口)
-
在端口中输出All Success 表示刷写成功,如下图:
-
松开IO2按钮,单击EN按钮,程序开始执行。
-
观察LED灯闪烁现象