來源:strongerHuang
串口是最常見的通信方式之一,也是單片機調試最常見的通信接口,也是現在的單片機必備的通信接口,目前(2024-05)最新、最強的Cortext-M85內核的RA8系列單片機也不例外。
今天就結合瑞薩Cortext-M85內核RA8系列單片機給大家講講串口輸出實現的方法,簡單到只需要一分鐘左右即可配置好。
01準備工作
要快速使用瑞薩Cortext-M85內核RA8系列單片機,需要有一些準備工作。
01集成開發工具
下載安裝集成開發環境瑞薩單片機的集成開發工具(IDE)有很多,比如:瑞薩自家的e2s、Keil、IAR等。
02準備硬件板卡
雖然現在仿真工具都可以實現單片機的要一些功能,但我們最好還是在硬件實物上跑程序更能學會技術。
本教程就使用瑞薩CPKCOR_RA8D1B評估板,這塊板卡使用RA8D1單片機,并集成了J-link,我們只需要用一根線連接電腦即可下載調試。
02一分鐘上手Cortext-M85單片機串口
e2s集成了很多功能,我們只需要動動鼠標就能快速創建并生成一個工程。
01創建工程
基于e2s快速創建一個工程打開e2s,文件->新建->瑞薩C/C++項目-> Renesas RA:
輸入工程名稱,比如我們輸入RA8D1_UART:
選擇單片機型號,比如R7FA8D1BHEC:
然后,根據提示,一步一步下去,就可以創建一個RA8工程:
02配置串口
這里只需要根據圖形化界面,簡單配置一下串口即可使用串口。我們在引腳(Pins)的位置,選擇外設(Peripherals)->SLI4,配置成異步通信模式:
在Stacts->New Stacts,新建一個UART:
然后,再配置一下UART參數(屬性):
這里根據自己情況修改幾個主要參數,其他大多數默認即可,如果需要中斷,就需要自己定義一個中斷回調函數:
如果要使用printf就還需要配置兩個地方:1、heap棧大小;2、工程設置。
接下來就是添加代碼了,我們添加兩個源文件: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其中bsp_debug_uart.c源文件也比較簡單: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
這樣下來就算完成了,你往單片機發送什么字符,它就會給你發回來,比如:往里面發字符“A”。
到這里就完成了一個RA8單片機串口的配置,是不是很簡單?對于有一定基礎的朋友,基本上一分鐘就能搞定。
-
單片機
+關注
關注
6051文章
44726瀏覽量
641934 -
瑞薩
+關注
關注
36文章
22328瀏覽量
87256 -
通信接口
+關注
關注
3文章
243瀏覽量
31216 -
串口
+關注
關注
14文章
1574瀏覽量
77857
原文標題:瑞薩RA8系列教程 | 基于e2s實現RA8串口輸出配置
文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
瑞薩面向電機控制應用推出性能卓越的RA8 MCU

《電子發燒友電子設計周報》聚焦硬科技領域核心價值 第4期:2025.03.17--2025.03.21
【野火啟明6M5開發板體驗】野火啟明開發板和瑞薩RA MCU介紹
RT-Thread支持瑞薩全新超高性能Arm? Cortex?-M85 MCU

IAR為瑞薩RA8系列MCU開發提供支持
新品發布 | 瑞薩推出面向圖形顯示應用和語音/視覺多模態AI應用的全新RA8 MCU產品群

評論