针对瑞萨RA8D1板卡的调试串口输出。
一、硬件电路连接
串口选择:通常使用USART3进行调试,该串口与JLINK仿真器连接。电路连接时,使用的端口是P408(TXD)和P409(RXD)。
板载JLINK使用:如果板卡上集成了JLINK,只需用一根线连接电脑即可进行下载和调试。若板卡没有集成JLINK,则需要单独准备一个。
二、串口配置
端口和波特率配置:在串口配置中,需要设置串口端口和波特率。波特率的选择应根据实际需求进行,常见的波特率等。
串口时钟设置:串口时钟的配置对波特率的准确性有重要影响。在配置时,需要注意时钟源和分频系数的选择,以确保波特率的正确性。
新建串口配置:
串口设置:
引脚配置:
三、代码实现
串口初始化:在代码中,需要实现串口的初始化函数。该函数通常包括打开串口、配置串口参数(如波特率、数据位、停止位、校验位等)以及设置中断回调函数等步骤。以下是一个简单的串口初始化示例:
bsp_debug_uart3.c:
#include "bsp_debug_uart.h" void Debug_UART3_Init(void) { fsp_err_t err = FSP_SUCCESS; err = R_SCI_B_UART_Open (&g_uart3_ctrl, &g_uart3_cfg); assert(FSP_SUCCESS == err); } uint8_t uart_send_complete_flag = 0; void debug_uart3_callback (uart_callback_args_t * p_args) { switch (p_args->event) { case UART_EVENT_RX_CHAR: { R_SCI_B_UART_Write(&g_uart3_ctrl, (uint8_t *)&(p_args->data), 1); break; } case UART_EVENT_TX_COMPLETE: { uart_send_complete_flag = 1; break; } default: break; } }
hal_entry.c
#include "hal_data.h" #include "led/led.h" #include "debug_uart/bsp_debug_uart.h" fsp_err_t err; void R_BSP_WarmStart(bsp_warm_start_event_t event); //extern bsp_leds_t g_bsp_leds; /*******************************************************************************************************************//** * [url=home.php?mod=space&uid=159083]@brief[/url] Blinky example application * * Blinks all leds at a rate of 1 second using the software delay function provided by the BSP. * **********************************************************************************************************************/ void hal_entry (void) { init_led(); Debug_UART3_Init(); while (1) { printf("https://bbs.eeworld.com.cn!\r\n"); /* if(R_BSP_PinRead (BSP_IO_PORT_00_PIN_08)==0) { led201_on(); } else { led201_off(); }*/ /* Delay */ //R_BSP_SoftwareDelay(delay, bsp_delay_units); R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); led201_on(); R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); led201_off(); } }
四、运行结果: