全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > 嵌入式技术 >

瑞萨RA8系列教程 | 基于e2s实现RA8串口输出配置

时间:2025-04-11 20:00

人气:

作者:admin

标签: 单片机  串口输出  RA8 

导读:串口是最常见的通信方式之一,也是单片机调试最常见的通信接口,也是现在的单片机必备的通信接口,目前(2024-05)最新、最强的Cortext-M85内核的RA8系列单片机也不例外。...

作者 | strongerHuang

微信公众号| strongerHuang


串口是最常见的通信方式之一,也是单片机调试最常见的通信接口,也是现在的单片机必备的通信接口,目前(2024-05)最新、最强的Cortext-M85内核的RA8系列单片机也不例外。


今天就结合瑞萨Cortext-M85内核RA8系列单片机给大家讲讲串口输出实现的方法,简单到只需要一分钟左右即可配置好。

准备工作

要快速使用瑞萨Cortext-M85内核RA8系列单片机,需要有一些准备工作。

1、下载安装集成开发环境瑞萨单片机的集成开发工具(IDE)有很多,比如:瑞萨自家的e2s、Keil、 IAR等。
这里大家可以参看我之前分享的文章:瑞萨RA8系列教程 | 瑞萨 RA8 开发环境e2s搭建Keil系列教程_Keil介绍、下载、安装与注册

2、准备硬件板卡虽然现在仿真工具都可以实现单片机的要一些功能,但我们最好还是在硬件实物上跑程序更能学会技术。
本教程就使用瑞萨CPKCOR_RA8D1B评估板,这块板卡使用RA8D1单片机,并集成了J-link,我们只需要用一根线连接电脑即可下载调试。

当然,如果你板卡没有集成J-Link,就需要单独准备一个。

以上就是主要的准备工作,其实也挺简单,入门都要准备的工作。

一分钟上手Cortext-M85单片机串口

e2s集成了很多功能,我们只需要动动鼠标就能快速创建并生成一个工程。

1、基于e2s快速创建一个工程打开e2s,文件 -> 新建-> 瑞萨C/C++项目-> Renesas RA:

wKgZPGfcyRGACdi_AAIHi2YTw4I056.pngwKgZO2fcyRKAQYYbAADiNxssl_E285.png

输入工程名称,比如我们输入RA8D1_UART

wKgZO2fcyReAaMhIAAFasljFpH4720.png

选择单片机型号,比如R7FA8D1BHEC:

wKgaoWcYtEWAOKp4AAHj6By3g8c440.png

然后,根据提示,一步一步下去,就可以创建一个RA8工程:

wKgZoWcYtEWABxdSAANf-GsJlQY999.pngwKgZPGfcyRiAdGCzAAHuwHq4jkA359.pngwKgZO2fcyRiABdXvAAHKveoQxHM407.png


2、配置串口这里只需要根据图形化界面,简单配置一下串口即可使用串口。


我们在引脚(Pins)的位置,选择外设(Peripherals)-> SLI4,配置成异步通信模式:

wKgZPGfcyRiALlLdAAKx0jMtyC4524.png

在 Stacts -> New Stacts,新建一个UART:

wKgZPGfcyRiAeef2AALJJvd03PM556.png

然后,在配置一下UART参数(属性):

wKgZO2fcyRmAA54bAAMUJOUwyAk579.png

这里根据自己情况修改几个主要参数,其他大多数默认即可,如果需要中断,就需要自己定义一个中断回调函数:

wKgZPGfcyRmAFTJ6AAGLORoXcdU184.png

如果要使用printf就还需要配置两个地方,1、heap栈大小;2、工程设置。

wKgZO2fcyRmAAmkHAALqD92p_fA508.pngwKgZO2fcyRqAZcO9AAMRY_3V1xo637.png

接下来就是添加代码了,我们添加两个源文件:bsp_debug_uart.h和bsp_debug_uart.c

其中bsp_debug_uart.h就是包含头文件,以及声明函数。

#ifndef __BSP_DEBUG_UART_H #define __BSP_DEBUG_UART_H #include "hal_data.h" #include void Debug_UART4_Init(void); #endif

其中bsp_debug_uart.c源文件也比较简单:

#include "bsp_debug_uart.h" /* 调试串口 UART4 初始化 */ void Debug_UART4_Init(void) { fsp_err_t err = FSP_SUCCESS; err = R_SCI_B_UART_Open(&g_uart4_ctrl, &g_uart4_cfg); assert(FSP_SUCCESS == err);} /* 发送完成标志 */ volatile bool uart_send_complete_flag = false; /* 串口中断回调 */ void debug_uart4_callback (uart_callback_args_t * p_args) { switch (p_args->event) { case UART_EVENT_RX_CHAR: { /* 把串口接收到的数据发送回去 */ R_SCI_B_UART_Write(&g_uart4_ctrl, (uint8_t *)&(p_args->data), 1); break; } case UART_EVENT_TX_COMPLETE: { uart_send_complete_flag = true; break; } default: break; } } /* 重定向 printf 输出 */ #if defined __GNUC__ && !defined __clang__ int _write(int fd, char *pBuffer, int size); //防止编译警告 int _write(int fd, char *pBuffer, int size) { (void)fd; R_SCI_B_UART_Write(&g_uart4_ctrl, (uint8_t *)pBuffer, (uint32_t)size); while(uart_send_complete_flag == false); uart_send_complete_flag = false; return size; } #else int fputc(int ch, FILE *f) { (void)f; R_SCI_B_UART_Write(&g_uart4_ctrl, (uint8_t *)&ch, 1); while(uart_send_complete_flag == false); uart_send_complete_flag = false; return ch; } #endif

这样下来就算完成了,你往单片机发送什么字符,它就会给你发回来,比如:往里面发字符“A”

wKgZPGfcyRqAZjHSAAIl1BtlbP4274.png

到这里就完成了一个RA8单片机串口的配置,是不是很简单?对于有一定基础的朋友,基本上一分钟就能搞定。

RA8系列教程更新ing···

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信