查看: 857|回复: 1

【瑞萨RA4系列开发板体验】呼吸灯

[复制链接]

116

主题

134

帖子

3790

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3790
发表于 2023-2-1 11:40:26 | 显示全部楼层 |阅读模式
【瑞萨RA4系列开发板体验】呼吸灯
作者:lugl

PWM可以驱动LED灯、舵机、电机等外设。今天学习使用pwm驱劝的呼吸灯。
1、新建工程PWM:

2、进入配置界面配置PWM,我这里选用板载的LED1->P415作为pwm输出。

3、按下图指示,添加PWM

4、按下图,显示属性窗口


5、在属性窗口,按如下设置:

6、在pins下面按如下设置:

7、最后点击Generate project content生成代码(注意这里一定要点,我前面没有点这个,半天不成,生手注意是

8、查看代码是否生成,打开项目资源管理器ra_gen文件夹下的pin_data.c查看是否按下面配置出代码:

9、查看ra_gen文件夹下的hal_data.c是否配置了代码:

10、如果上面都有了的话,打开src下的hal_enty.c书写如下代码:
  1. uint32_t duty;
  2. duty = 0;
  3. uint8_t state;
  4. state = 0;
  5. /* TODO: add your own code here /
  6. fsp_err_t err = FSP_SUCCESS;
  7. err = R_GPT_Open(&g_timer0_ctrl, &g_timer0_cfg);
  8. / Handle any errors. This function should be defined by the user. */
  9. assert(FSP_SUCCESS == err);
  10. (void) R_GPT_Start(&g_timer0_ctrl);
  11. // err = R_GPT_PeriodSet(&g_timer0_ctrl, 5000);//频率
  12. // assert(FSP_SUCCESS == err);
  13. R_BSP_SoftwareDelay (20, BSP_DELAY_UNITS_MILLISECONDS);//不加延时可能会设置不成功
  14. while(1)
  15.    {
  16.        if(state == 0)
  17.        {
  18.            duty = duty + 2000;
  19.            if(duty >= 100000){
  20.                duty = 100000;
  21.                state=1;
  22.            }
  23.        }
  24.        else{
  25.            duty = duty - 2000;
  26.            if(duty <= 0){
  27.                duty = 0;
  28.                state = 0;
  29.            }
  30.        }
  31.        err = R_GPT_DutyCycleSet(&g_timer0_ctrl, duty, GPT_IO_PIN_GTIOCA);//占空比
  32.                              assert(FSP_SUCCESS == err);
  33.        R_BSP_SoftwareDelay (50, BSP_DELAY_UNITS_MILLISECONDS);//不加延时可能会设置不成功
  34.    }
复制代码

11、编译生成hex文件:

12、下载到开发板:

重启后就可以看到LED1的呼吸灯效果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

3

主题

195

帖子

1168

积分

金牌会员

Rank: 6Rank: 6

积分
1168
发表于 2023-3-14 11:16:20 | 显示全部楼层

不错,学习一下
回复

使用道具 举报

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

本版积分规则

用户排行榜

RA助手

主题: 116帖子:134精华:0

RA_Lance

主题: 93帖子:136精华:9

lugl

主题: 52帖子:150精华:1

xujiwei263

主题: 18帖子:86精华:0

Juggernaut

主题: 12帖子:118精华:0

books咦

主题: 11帖子:11精华:2
快速回复 返回顶部 返回列表