一:RA0E2的串口知识:
在 RA0E2 中,串口功能通常由 SCI(Serial Communications Interface) 模块提供。该模块支持多种模式,其中最基本和最常用的就是 UART(异步串行)模式。
关键特性:
全双工异步通信:可以同时进行发送和接收。
可编程的波特率:支持非常宽的波特率范围,通过时钟分频或特定波特率发生器寄存器设置。
可配置的数据格式:
数据位长度:7位 或 8位
停止位:1位 或 2位
校验位:无、偶校验、奇校验
丰富的错误检测标志:帧错误、奇偶校验错误、溢出错误。
中断驱动:支持发送空、接收数据就绪、错误等多种中断源,可高效利用CPU资源。
FIFO:部分型号可能支持FIFO,以减少中断频率。
多通道:RA0E2 组通常提供多个独立的 SCI/UART 通道(例如,SCI0, SCI1, ...)
二:硬件连接如下所示:
这里使用P100与P101 与板载调试器相连接;
三:FSP库配置过程:
3.1:时钟树的配置:
这里需要使能串口的波特率;
3.2 配置串口的参数,编写回调函数
Name: 例如 g_uart0
Channel: 选择硬件通道,例如 0
Baud Rate: 设置通信速率,例如 115200(默认参数)
Data Bits: 8 bits
Parity: None
Stop Bits: 1 bit
Interrupts:
通常使能 Receive Data Full 和 Transmit Data Empty 中断。
Callback: 设置中断回调函数名,例如 g_uart0_callback(FSP自动生成)
Pin Configuration: 在 Pins 选项卡中,为选择的通道配置具体的 TXD 和 RXD 引脚
3.3 串口引脚的配置:
配置好后,直接生成底层的驱动代码就可以了。
四:软件代码编写:
4.1 串口的初始化
void g_uart0_init(void) { fsp_err_t err = FSP_SUCCESS; err = R_UARTA_Open(&g_uart0_ctrl, &g_uart0_cfg); if (FSP_SUCCESS != err) { while(1); } }
4.2 编写串口0的回调函数:
void g_uart0_callback(uart_callback_args_t *p_args) { switch (p_args->event) { case UART_EVENT_TX_COMPLETE: g_data_transmit_flag = true; break; case UART_EVENT_RX_COMPLETE: g_data_received_flag = true; break; default: break; } }
4.3 写一个串口的发送函数:
void Dwin_Send_Example(uint8_t ch) { R_UARTA_Write(&g_uart0_ctrl, (uint8_t *)&ch, 1); while(g_data_transmit_flag == false); g_data_transmit_flag = false; } void SendTestData(uint8_t ID) { static uint8_t DWIN_Buffer[64]; volatile int i = 0 ; DWIN_Buffer[0] = 0x5A ; DWIN_Buffer[1] = 0xA5 ; DWIN_Buffer[2] = 0x07 ; DWIN_Buffer[3] = 0x82 ; DWIN_Buffer[4] = 0x00 ; DWIN_Buffer[5] = 0x84 ; DWIN_Buffer[6] = 0x5A ; DWIN_Buffer[7] = 0x01 ; DWIN_Buffer[8] = 0x00 ; DWIN_Buffer[9] = ID ; for(i= 0 ;i < 10 ; i++) { Dwin_Send_Example(DWIN_Buffer[i]); } }
4.4 发送数据函数在定时器中进行回调处理。
void g_timer0_callback(timer_callback_args_t *p_args) { if (TIMER_EVENT_CYCLE_END == p_args->event) { /* g_timer_flag [APP_TML_16_BIT] = true; g_number_cycles ++;*/ count0Point++ ; if(count0Point>=1000) { count0Point = 0 ; SendTestData(0x01); } } }
五:实物验证图片:
六:调试后记:
硬件正确连接:TXD-RXD,RXD-TXD,GND-GND。
FSP 图形化配置:选择通道、设置参数、配置引脚和中断。
代码实现:打开设备、编写中断回调函数、使用读写 API。
调试:确保波特率匹配,善用工具(逻辑分析仪)进行波形分析。