瑞萨RA8系列教程 | 基于e2s实现RA8串口输出配置
来源:strongerHuang 发布时间:2024-06-27 分享至微信
作者 | strongerHuang
微信公众号| strongerHuang
准备工作
一分钟上手Cortext-M85单片机串口
#ifndef __BSP_DEBUG_UART_H
#define __BSP_DEBUG_UART_H
#include "hal_data.h"
#include <stdio.h>
void Debug_UART4_Init(void);
#endif
#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
[ 新闻来源:strongerHuang,更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj]
存入云盘 收藏
举报
全部评论
暂无评论哦,快来评论一下吧!
strongerHuang
作者黄工,高级嵌入式软件工程师,CSDN博客专家,嵌入式领域知名号,专注分享嵌入式软硬件、AIoT(物联网+人工智能)、单片机、通信技术、开发工具、半导体、行业资讯等相关内容。
查看更多
相关文章
瑞萨电子闪耀MCU盛会:RA8与RZ/T2M双星闪耀,引领工业控制新纪元
2024-08-16
英飞凌推出:600V CoolMOS 8 SJ MOSFET系列
2024-09-04
日本8月出口额创新高,对华芯片设备出口激增61.6%
2024-09-22
韩国8月出口579亿美元,新高背后的全球影响力
2024-09-02
三星8层HBM3E量产,进军NVIDIA市场遇挑战
2024-09-18
热门搜索