查看: 603|回复: 1

【瑞萨RA4系列开发板体验】使用定时器实现500ms的延时

[复制链接]

116

主题

133

帖子

3768

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3768
发表于 2023-2-7 16:41:19 | 显示全部楼层 |阅读模式
【瑞萨RA4系列开发板体验】使用定时器实现500ms的延时作者:jf_92517703


实验功能:500ms的延时的延时电量LED
RASC的配置
打开RASC 配置软件

添加一个STACKS

配置

软件
bsp_tim0.h
  1. #ifndef __BSP_TIM0_H__
  2. #define __BSP_TIM0_H__

  3. #include "hal_data.h"
  4. #include "stdio.h"
  5. void bsp_timer_init(void);

  6. #endif
复制代码
bsp_tim0.c
  1. #include "bsp_tim0.h"
  2. /* 定时器的初始化 */
  3. void bsp_timer_init(void)
  4. {
  5.                 fsp_err_t err;
  6.     /* 配置定时器 */
  7.     err = R_AGT_Open(&g_timer0_ctrl, &g_timer0_cfg);
  8.     assert(FSP_SUCCESS == err);
  9.     err = R_AGT_Start (&g_timer0_ctrl);
  10.                 //使能定时器
  11.                 assert(FSP_SUCCESS == err);
  12. }


  13. /* 定时器的中断回调 */
  14. void timer0_callback(timer_callback_args_t *p_args)
  15. {
  16.                 static uint32_t led_s=0;
  17.     if (TIMER_EVENT_CYCLE_END == p_args->event)
  18.     {
  19.       
  20.                         led_s = !led_s;
  21.                         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_15, led_s);
  22.     }
复制代码
hal_entery
  1. void hal_entry(void)
  2. {
  3.     /* TODO: add your own code here */
  4.         //初始化LED io
  5.         R_IOPORT_Open (&g_ioport_ctrl, g_ioport.p_cfg);
  6.         //串口初始化
  7.         bsp_uart_init();
  8.         //定时器初始化
  9.         bsp_timer_init();
  10.         printf("hello RA4\r\n");
  11.         //
  12.         while(1)
  13.         {
  14.                 R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);
  15.                 R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); //延时 100毫秒
  16.                 R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);
  17.                 R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_LOW);
  18.                 R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); //延时 100毫秒
  19.                 R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, BSP_IO_LEVEL_HIGH);

  20.         }
  21. #if BSP_TZ_SECURE_BUILD
  22.     /* Enter non-secure code */
  23.     R_BSP_NonSecureEnter();
  24. #endif
  25. }
复制代码


回复

使用道具 举报

3

主题

195

帖子

1191

积分

金牌会员

Rank: 6Rank: 6

积分
1191
发表于 2023-3-14 10:58:04 | 显示全部楼层

不错,学习一下
回复

使用道具 举报

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

本版积分规则

用户排行榜

RA助手

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

RA_Lance

主题: 92帖子:132精华:9

lugl

主题: 38帖子:126精华:0

xujiwei263

主题: 16帖子:73精华:0

books咦

主题: 11帖子:11精华:2

Juggernaut

主题: 9帖子:95精华:0
快速回复 返回顶部 返回列表