【祖传点灯】安信可Ai-M61-32S + 点亮led

[复制链接]
查看2080 | 回复11 | 2024-5-4 13:17:39 | 显示全部楼层 |阅读模式
本帖最后由 HHHHH 于 2024-5-9 12:30 编辑

环境搭建
    默认安装好git,VScode
    创建文件夹,打开文件夹,并打开git,输入指令
  1. git clone https://gitee.com/Ai-Thinker-Ope
复制代码
联想截图_20240504124541.png

打开AiPi-Open-Kits文件夹
  1. cd AiPi-Open-Kits/
复制代码
创建子模块更新(这一步时间会比较久)
  1. git submodule init
  2. git submodule update
复制代码

联想截图_20240504124640.png


1.2配置 GCC 编译链
进入 aithinker_Ai-M6X_SDK 文件夹,拉取 toolchain_gcc_t-head_windows 仓库
  1. git clone https://gitee.com/Ai-Thinker-Open/aithinker_Ai-M6X_SDK.git
复制代码

联想截图_20240504124819 - 副本.png
进入文件夹,执行子模块更新(时间稍微长些)
  1. git submodule init
  2. git submodule update
复制代码

联想截图_20240504122740.png
1.3添加系统环境变量
点击环境变量
点击path
点击新建
联想截图_20240504125116.png
联想截图_20240504124718.png



注意将这几条放在 Path 的最上面
1.4验证环境变量是否配置完成
  1. make -v
  2. riscv64-unknown-elf-gcc -v
复制代码

打开cmd指令窗口
联想截图_20240504123127.png
1.5配置工程文件
将\AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output 文件夹复制一份到任意位置,注意路径为英文,不能有空格
以记事本打开文件夹中的Make文件,修改路径并保存
路径为AiPi-Open-Kits文件夹位置
联想截图_20240504123154.png

用记事本打开 make.c 文件,修改并保存
  1. #include "bflb_gpio.h"
  2. #include "board.h"

  3. struct bflb_device_s *gpio;

  4. int main(void)
  5. {
  6.     board_init();

  7.     gpio = bflb_device_get_by_name("gpio");
  8.     printf("gpio output\r\n");
  9.     bflb_gpio_init(gpio, GPIO_PIN_12, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
  10.     bflb_gpio_init(gpio, GPIO_PIN_14, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
  11.     bflb_gpio_init(gpio, GPIO_PIN_15, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);

  12.     while (1) {
  13.         bflb_gpio_set(gpio, GPIO_PIN_12 );
  14.         printf("GPIO_PIN_12=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_12));
  15.         bflb_mtimer_delay_ms(1000);

  16.         bflb_gpio_set(gpio, GPIO_PIN_14);
  17.         printf("GPIO_PIN_14=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_14));
  18.         bflb_mtimer_delay_ms(1000);

  19.          bflb_gpio_set(gpio, GPIO_PIN_15);
  20.         printf("GPIO_PIN_15=%x\r\n", bflb_gpio_read(gpio, GPIO_PIN_15));
  21.         bflb_mtimer_delay_ms(1000);

  22.         bflb_gpio_reset(gpio, GPIO_PIN_12);
  23.         bflb_gpio_reset(gpio, GPIO_PIN_14);
  24.         bflb_gpio_reset(gpio, GPIO_PIN_15);
  25.         bflb_mtimer_delay_ms(1000);
  26.     }
  27. }
复制代码

用vscode打开gpio_input_output 文件夹
1.选择集成终端打开
联想截图_20240504123843.png
1.在终端输入
联想截图_20240504123057.png
  1. make clean
复制代码
联想截图_20240504123442.png
2.再输入make,编译文件
  1. make
复制代码

联想截图_20240504123323.png
3.Ai-M61-32S 配置烧录模式
联想截图_20240504123300.png
4.下载程序,端口号可以通过Windows设备管理器中的端口即可查看

  1. make flash COMX=COM4
复制代码





5.烧录成功
至此就完成了整个烧录过程,按下复位键即可看到
联想截图_20240504130604.png




联想截图_20240503224755.png
联想截图_20240504122952.png
联想截图_20240504123018.png
联想截图_20240504123237.png
联想截图_20240504123843 - 副本.png
联想截图_20240504124733 - 副本.png
联想截图_20240504124733.png
联想截图_20240504124819.png
回复

使用道具 举报

huazai1995 | 2024-5-10 22:37:29 | 显示全部楼层
   不错不错
回复 支持 反对

使用道具 举报

爱笑 | 2024-5-17 11:33:23 | 显示全部楼层
作业已完成!
用心做好保姆工作
回复 支持 反对

使用道具 举报

Francisliu | 2024-5-22 14:20:56 | 显示全部楼层
下载.png
我认为GPIO的读是有问题的。程序上只设置了GPIO的输出,所以要读GPIO状态应该在gpio_read前先设置成输入才可以,
  • bflb_gpio_init(gpio, GPIO_PIN_12, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);

回复 支持 反对

使用道具 举报

WenshengZhu | 2024-5-22 15:58:38 | 显示全部楼层
GPIO 推完输出模式下,可以读取引脚的高低电平吗
回复 支持 反对

使用道具 举报

WenshengZhu | 2024-5-22 15:59:48 | 显示全部楼层
Francisliu 发表于 2024-5-22 14:20
我认为GPIO的读是有问题的。程序上只设置了GPIO的输出,所以要读GPIO状态应该在gpio_read前先设置成输入才 ...

可以看看log口的log日志的情况
回复 支持 反对

使用道具 举报

Francisliu | 2024-5-23 10:30:11 | 显示全部楼层
WenshengZhu 发表于 2024-5-22 15:59
可以看看log口的log日志的情况

当然要变成输入才能读状态,已经确认过了
回复 支持 反对

使用道具 举报

wukong50 | 2024-5-29 15:11:04 | 显示全部楼层
点灯成功
回复

使用道具 举报

知行合一 | 2024-6-23 19:45:05 | 显示全部楼层
完成任务了
回复 支持 反对

使用道具 举报

楚华 | 2024-7-2 21:38:05 | 显示全部楼层
支持下
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则