【PWM】基于AI-M61-32s

[复制链接]
查看1733 | 回复12 | 2023-10-27 12:09:00 | 显示全部楼层 |阅读模式
本帖最后由 WangChong 于 2023-10-27 12:14 编辑

PWM的详细教程请参考泽哥的文章,当前文章基于泽哥的文章进行补充。



1- 零基础开发小安派-Eyes_DU之【PWM循环呼吸灯】
http://ai-thinker.com/forum.php?mod=viewthread&tid=279
(出处: 物联网开发者社区-安信可论坛)

2- http://ai-thinker.com/forum.php? ... pwm&_dsign=d510fc0b


直接上代码,我的代码也是基于泽哥的。
  1. #include "bflb_mtimer.h"
  2. #include "bflb_pwm_v2.h"
  3. #include "bflb_clock.h"
  4. #include "bflb_gpio.h"
  5. #include "board.h"

  6. struct bflb_device_s *pwm;
  7. struct bflb_device_s *gpio;

  8. #define PWM_PERIOD_MAX 255

  9. int main(void)
  10. {
  11.     int i;
  12.     board_init();

  13.     pwm = bflb_device_get_by_name("pwm_v2_0");
  14.     gpio = bflb_device_get_by_name("gpio");

  15.     // 白灯
  16.     bflb_gpio_init(gpio, 29, GPIO_FUNC_PWM0 | GPIO_ALTERNATE | GPIO_PULLUP | GPIO_SMT_EN | GPIO_DRV_1);
  17.     /* period = .XCLK / .clk_div / .period = 40MHz / 40 / 1000 = 1KHz */
  18.     struct bflb_pwm_v2_config_s cfg = {
  19.         .clk_source = BFLB_SYSTEM_XCLK,
  20.         .clk_div = 40,
  21.         .period = PWM_PERIOD_MAX,
  22.     };

  23.     /*初始化PWM输出*/
  24.     bflb_pwm_v2_init(pwm, &cfg);
  25.     bflb_pwm_v2_start(pwm);

  26.     while (1)
  27.     {

  28.         // 白灯呼吸亮灭
  29.         bflb_pwm_v2_channel_positive_start(pwm, PWM_CH1); // 使能白灯通道

  30.         for (i = 0; i < PWM_PERIOD_MAX; i++)
  31.         {
  32.             bflb_pwm_v2_channel_set_threshold(pwm, PWM_CH1, 0, i);

  33.             bflb_mtimer_delay_ms(5);
  34.         }
  35.         for (i = PWM_PERIOD_MAX; i > 0; i--)
  36.         {
  37.             bflb_pwm_v2_channel_set_threshold(pwm, PWM_CH1, 0, i);

  38.             bflb_mtimer_delay_ms(5);
  39.         }
  40.         bflb_pwm_v2_channel_positive_stop(pwm, PWM_CH1); // 失能白灯通道
  41.     }
  42. }
复制代码
这里主要说明的是这个文档的信息。我需要额外补充一下。
  • 首先,[color=rgba(0, 0, 0, 0.87)]Ai-M61-32S-Kit 的规格书中,只说明了哪些端口可以用PWM0,并没有说明哪些端口用什么通道。
  • [color=rgba(0, 0, 0, 0.87)]需要查看具体的通道的话则需要查看,BL616/618的文档。文档如下:

bl616_bl618_ds_zh_cn_1.4.pdf (1023.13 KB, 下载次数: 3)

本帖被以下淘专辑推荐:

回复

使用道具 举报

妖猊 | 2023-10-27 12:29:08 | 显示全部楼层
插个眼给七哥看,证明我来过
回复 支持 反对

使用道具 举报

爱笑 | 2023-10-27 13:43:22 | 显示全部楼层
用心做好保姆工作
回复

使用道具 举报

End | 2023-10-27 14:16:26 | 显示全部楼层
插个眼给七哥看,证明我来过
羡慕
回复 支持 反对

使用道具 举报

流水源 | 2023-10-27 15:04:41 | 显示全部楼层
学习学习
回复

使用道具 举报

WangChong | 2023-10-27 17:03:28 | 显示全部楼层
回复 支持 反对

使用道具 举报

bzhou830 | 2023-10-27 17:52:29 | 显示全部楼层
学习学习
选择去发光,而不是被照亮
回复

使用道具 举报

iiv | 2023-10-27 20:54:32 | 显示全部楼层
王哥666
回复

使用道具 举报

496199544 | 2023-10-27 21:34:40 | 显示全部楼层
王哥666
回复

使用道具 举报

WangChong | 2023-10-27 22:06:40 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则