刚到手的M61,认真点个灯

[复制链接]
查看347 | 回复7 | 2024-5-7 10:11:56 | 显示全部楼层 |阅读模式
东西正在来的路上,看着来点个灯折腾看看

正所谓单片机的本质就是电灯,再高级的程序,也是电平信号的解读,所以完成电灯,就犹如你捡起了一块砖,盖房就是诸多的砖头随实际情况和设计进行搭建摆放的。


电灯一般就是驱动GPIO,所以还是要看原理图,是哪几个引脚驱动的

1.查看原理图,了解电灯需要对哪些引脚操作
去下载原理图:https://docs.ai-thinker.com/ai_m61

                               
登录/注册后可看大图


查找原理图,我们可以看到RGB灯的GPIO位IO15IO12IO14.对应蓝色,红色,绿色。
通过基本电路图可知,将对应的管脚拉高即可产生通路,从而点亮LED灯。

2.基本的例程选择,复制出我们需要的
所以在配置完基本的环境后,即可在例程里使用gpio_input_output(GPIO输入输出)例程。
基本路径为AiPi-Open-Kits\aithinker_Ai-M6X_SDK\examples\peripherals\gpio\gpio_input_output
将gpio_input_output在同等路径下复制一份,重新取名为gpio_input_output_RGB

                               
登录/注册后可看大图



3.编写基本逻辑程序
打开main.c函数
如下编写
  1. #include "bflb_gpio.h"
  2. #include "board.h"

  3. struct bflb_device_s *gpio;

  4. uint32_t gpio_group[] = {GPIO_PIN_12,GPIO_PIN_14,GPIO_PIN_15};//RGB三原色的引脚控制

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

  8.     gpio = bflb_device_get_by_name("gpio");//获取GPIO的设备
  9.     printf("gpio output\r\n");

  10.     //初始化基本gpio管脚配置
  11.     bflb_gpio_init(gpio, GPIO_PIN_12, GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
  12.     bflb_gpio_init(gpio, GPIO_PIN_14, GPIO_INPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);
  13.     bflb_gpio_init(gpio,GPIO_PIN_15,GPIO_OUTPUT | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_0);

  14.     //初始化管脚状态
  15.     bflb_gpio_reset(gpio,GPIO_PIN_12);
  16.     bflb_gpio_reset(gpio,GPIO_PIN_14);
  17.     bflb_gpio_reset(gpio,GPIO_PIN_15);
  18.     uint8_t i = 0;
  19.     //循环体
  20.     while (1)
  21.     {
  22.         for(uint8_t j = 0;j < 2;j++)
  23.         {
  24.             bflb_gpio_set(gpio,gpio_group[i]);
  25.             bflb_mtimer_delay_ms(200);
  26.             bflb_gpio_reset(gpio,gpio_group[i]);
  27.             bflb_mtimer_delay_ms(200);
  28.         }
  29.         bflb_gpio_set(gpio,gpio_group[i]);
  30.         bflb_mtimer_delay_ms(500);
  31.         bflb_gpio_reset(gpio,gpio_group[i]);
  32.         i = (i + 1) % 3;
  33.     }
  34. }
复制代码

从这个程序对比往常写的STM32的可以感觉到,指令集更简便些。至少我个人比较喜欢


4.命令行烧录
先在命令行中慢慢cd到gpio_input_output_RGB文件夹下
然后执行make 回车

                               
登录/注册后可看大图


完成编译后,先输入make flash COMX=COMXX(先别着急回车)(XX代表的是你COM号,不知道的可以 win + X--->设备管理器--->端口。进行查看)
此时我们需要让开发板进入烧录模式
我们要先按住IO2(不要抬起来),然后按一下EN再松开EN,最后松开IO2,进入下载模式


然后命令行回车
成功烧录即可
再按下EN键重启单片机,即可看到我们闪烁的灯光啦


                               
登录/注册后可看大图


gif.gif
回复

使用道具 举报

lazy | 2024-5-7 10:40:23 | 显示全部楼层
回复

使用道具 举报

WT_0213 | 2024-5-7 10:41:12 | 显示全部楼层
整洁
回复

使用道具 举报

1084504793 | 2024-5-7 10:47:24 | 显示全部楼层
回复

使用道具 举报

wukong50 | 2024-5-25 14:22:16 | 显示全部楼层
完成任务了
回复 支持 反对

使用道具 举报

wurong | 2024-5-27 21:59:14 | 显示全部楼层
入坑了
回复

使用道具 举报

7788 | 2024-5-29 18:01:58 | 显示全部楼层
666
回复

使用道具 举报

楚华 | 2024-6-6 19:09:51 | 显示全部楼层
恭喜
回复

使用道具 举报

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

本版积分规则