查看: 1599|回复: 5

【瑞萨RA2系列开发板体验】+开箱及定时器中断点灯

[复制链接]

93

主题

136

帖子

8万

积分

管理员

11111

Rank: 9Rank: 9Rank: 9

积分
84460
QQ
发表于 2022-5-30 10:20:00 | 显示全部楼层 |阅读模式
【瑞萨RA2系列开发板体验】+开箱及定时器中断点灯

作者:qjp1988113  

今天,我终于有空把玩一下瑞萨的MCU了,我之前从来没接触过~
先来上开箱照,说实话有点失望~资源太少,连连接电源的USB都没留,更不要谈转TTL转USB接口~真的是最小系统,不能再小了~板上资源就2个LED,一个KEY,2个TOUCHPAD~


硬件搭建好,下面开始软件的搭建~
安装好E2 STUDIO,蛋的,1.5个G~
按照"e2快速上手指南.pdf"指导,安装并熟悉开发环境的各个部件~
里面讲的很清晰,包括创建库文件,创建MOOS工程及RTOS工程~
这了就不一一衍述~
现在主流MCU开发IDE,特别是个大厂商自己推出的,几乎都集成了MCU外设配置的功能~E2也不例外~这样能减少开发周期,甚至不要太关注底层~
下面我们用配置工具,配置一个定时器300ms中断,在中断中,切换LED状态,这样一个闪烁灯实验~
我们开始配置:


保存设置,并按
生成代码:
我们看下它的main函数:
  1. #include "hal_data.h"
  2. int main(void)
  3. {
  4.     hal_entry ();
  5.     return 0;
  6. }
复制代码
我们把代码写到hal_entry ()里面:
在hal_entry 里面添加:
  1. static void LED_Init(void)
  2. {
  3.     fsp_err_t err;    /* Initialize the IOPORT module and configure the pins */
  4.     err = R_IOPORT_Open(&g_ioport_ctrl, &g_bsp_pin_cfg);    /* Handle any errors. This function should be defined by the user. */
  5.     assert(FSP_SUCCESS == err);    /* Configure Pin as output     * Call the R_IOPORT_PinCfg IF the configuration was not part of initial configurations made in open */
  6.     err = R_IOPORT_PinCfg(&g_ioport_ctrl, g_bsp_pin_cfg_data[0].pin, g_bsp_pin_cfg_data[0].pin_cfg);
  7.     assert(FSP_SUCCESS == err);
  8.     err = R_IOPORT_PinCfg(&g_ioport_ctrl, g_bsp_pin_cfg_data[1].pin, g_bsp_pin_cfg_data[1].pin_cfg);
  9.         assert(FSP_SUCCESS == err);


  10. }


  11. bsp_io_level_t level = BSP_IO_LEVEL_LOW;
  12. void gtp00_callback(timer_callback_args_t *p_args)
  13. {
  14.     (void)p_args;
  15.     if (BSP_IO_LEVEL_LOW == level)
  16.       {
  17.           level = BSP_IO_LEVEL_HIGH;
  18.       }
  19.       else
  20.       {
  21.           level = BSP_IO_LEVEL_LOW;
  22.       }        /* Update LED on RA6M3-PK */

  23.       R_IOPORT_PinWrite(&g_ioport_ctrl, g_bsp_pin_cfg_data[0].pin, level);
  24.       R_IOPORT_PinWrite(&g_ioport_ctrl, g_bsp_pin_cfg_data[1].pin, level);
  25. }

  26. /*******************************************************************************************************************//**
  27. * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
  28. * is called by main() when no RTOS is used.
  29. **********************************************************************************************************************/
  30. void hal_entry(void)
  31. {
  32.     /* TODO: add your own code here */
  33.     LED_Init();
  34.     g_timer00.p_api->open(g_timer00.p_ctrl, g_timer00.p_cfg);
  35.     g_timer00.p_api->start(g_timer00.p_ctrl);


  36. #if BSP_TZ_SECURE_BUILD
  37.     /* Enter non-secure code */
  38.     R_BSP_NonSecureEnter();
  39. #endif

  40.     while(1)
  41.     {}
  42. }
复制代码
至于具体的GPIO定义在pin_data文件里,我们直接调用:
  1. const ioport_pin_cfg_t g_bsp_pin_cfg_data[] =
  2.         {
  3.         { .pin = BSP_IO_PORT_01_PIN_03, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
  4.                 | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
  5.           { .pin = BSP_IO_PORT_01_PIN_04, .pin_cfg = ((uint32_t) IOPORT_CFG_PORT_DIRECTION_OUTPUT
  6.                   | (uint32_t) IOPORT_CFG_PORT_OUTPUT_LOW) },
  7.           { .pin = BSP_IO_PORT_01_PIN_08, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
  8.                   | (uint32_t) IOPORT_PERIPHERAL_debug) },
  9.           { .pin = BSP_IO_PORT_02_PIN_13, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
  10.                   | (uint32_t) IOPORT_PERIPHERAL_GPT1) },
  11.           { .pin = BSP_IO_PORT_03_PIN_00, .pin_cfg = ((uint32_t) IOPORT_CFG_PERIPHERAL_PIN
  12.                   | (uint32_t) IOPORT_PERIPHERAL_DEBUG) }, };
复制代码
编译,下载,我们查看现象:

是不是很Easy,好了,开箱就到这了,谢谢观看~






回复

使用道具 举报

0

主题

4

帖子

302

积分

中级会员

Rank: 3Rank: 3

积分
302
发表于 2022-7-31 10:28:29 | 显示全部楼层
另外一种思路,不用延时函数
回复

使用道具 举报

3

主题

195

帖子

1168

积分

金牌会员

Rank: 6Rank: 6

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

不错,学习一下
回复

使用道具 举报

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

本版积分规则

用户排行榜

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
快速回复 返回顶部 返回列表