这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 【瑞萨RA4L1开发板】:闪烁LED、串口输出调试字符串

共4条 1/1 1 跳转至

【瑞萨RA4L1开发板】:闪烁LED、串口输出调试字符串

高工
2025-05-12 19:50:14     打赏

 之前自己学习过瑞萨RA2E1的开发板,对其软件环境有一定的了解程序,对开发的FSP代码生成工具也简单的了解过,今天申请到一个RA4L1的开发板,下面和大家分享一下开发的过程。

    不过瑞萨瑞萨的开发板编程的时候也可以使用keil的编程工具,对软件进行开发时,还是使用官方的IDE好一些;

    我这边使用的版本最新版是5.9.0版本,下载网址如下:https://github.com/renesas/fsp/releases

   一:软件安装步骤

 在打开网页上面下载安装下图中截图的软件版本就好了:

0512-1.png

    在安装的时候,我们只需要一键安装就好了,我们根据自己的需要,对软件的安装位置进行设置,如果电脑上面的C盘空间,足够大时候,就可以快速安装,在安装的过程中,需要注意设置 软件的语言版本,软件的工具链(如果没有选择也没有关系,安装完成后,可以在瑞萨的软件中进行再次安装),基本上是属于一键安装的过程,这里就不做过多的介绍了。

二:例程的调试

2.1 打开软件截图如下:

0512-2.png

截图如上所示,我这边建议还是在官方的例程上面进行程序修改,对于瑞萨框架的不熟悉的人,官方的例程还是比较友好地。

2.2 导入例程如下:

0512-3.png

0512-4.png

这里我们导入官方的例程过程,这样我们就可以直接对官方的进行开发;

2.3 打开工程界面如下:

0512-7.png

三:硬件资源如下所示:

0512-9.png

0512-8.png

可以看到,板载LED灯使用P601、P609、P610的位置,串口使用的位置位P109、P110的,这时候我们在FSP库中配置一下,如下所示:

0512-10.png

串口配置如下:

0512-13.png

串口回调函数如下:

fsp_err_t err = FSP_SUCCESS;
volatile bool uart_send_complete_flag = false;
void user_uart_callback (uart_callback_args_t * p_args)
{
if(p_args->event == UART_EVENT_TX_COMPLETE)
{
uart_send_complete_flag = true;
}
}

串口重定义一下,否则printf不能使用

#ifdef __GNUC__                                 //串口重定向
#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
err = R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&ch, 1);
if(FSP_SUCCESS != err) __BKPT();
while(uart_send_complete_flag == false){}
uart_send_complete_flag = false;
return ch;
}
err = R_SCI_UART_Open(&g_uart9_ctrl, &g_uart9_cfg);
assert(FSP_SUCCESS == err);
printf("hello world!\n");

while(1)
{
printf("Hello e2studio!\n");
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_01, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_HIGH);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_HIGH);

R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);
printf("EEPW keyboard!\n");
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_01, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_LOW);
R_BSP_SoftwareDelay (500, BSP_DELAY_UNITS_MILLISECONDS);

}

实际测试图片如下所示:

主要是对于瑞萨的RA4L1开发板,对于低版本瑞萨FSP版本,是不兼容的,这里还是时常的更新软件版本吧。




关键词: RA4L1、串口    

院士
2025-05-12 21:50:05     打赏
2楼

使用底层驱动来实现代码,确实可以加快应用的实现。


高工
2025-05-12 21:53:28     打赏
3楼

我还是不太喜欢这种普通嵌入式MCU的驱动嵌套这么多层


专家
2025-05-13 09:27:01     打赏
4楼

谢谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]