瑞萨单片机论坛
直播中

少年阿炳

3年用户 40经验值
擅长:嵌入式技术
私信 关注
[经验]

【瑞萨RA4系列开发板体验】串口编程使用心得---使用串口控制LED灯

一 工程配置

1.1 打开FSP Smart Configurator,新建一个项目。
1.2 串口配置:
图片.png
图片.png

如上图所示:
1.2.1 选择Stack->new Stack->Connectivity->Uart(r_sci_uart)
1.2.2 再在Pin->Peripherals->Connectivity:SCI->SCI9,
1.2.3 选择对应的TXD9和RXD9的IO口。
因为我想要用开发板自带的TYPEC口上的串口,查看电路图后确定IO口。因为SCI9这个串口新建工程后,被定义为烧录口,所以按照我上面三步配置后,会发现TXD9和RXD9报错,把工程自动配置的取消即可。或者你可以选择别的串口。都是一样的。

1.2.4如下图所示,需要更改Channel为9,SCI的编号和Channel编号是一一对应的关系。如果你选择的是SCI0,那么必须更改Channel为0。这点非常重要。
图片.png
1.2.5 设置串口的回调函数这个回调函数(函数名可以自定义)相当于stm32的USARTx_IRQHandler
图片.png

自此,串口配置就完成了。

之后配置好LED的IO口。

用keil5打开工程,配置串口中断回调函数

void Uart9_Callback (uart_callback_args_t * p_args)
{
	switch (p_args->event)
	{
		case UART_EVENT_RX_CHAR:
		{
			//R_SCI_UART_Write(&g_uart9_ctrl, (uint8_t *)&(p_args->data), 1);
            switch (p_args->data)
            {
                case '1':
                    LED1_ON;
                break;
                case '2':
                    LED1_OFF;
                break;
                case '3':
                    LED2_ON;
                break;
                case '4':
                    LED2_OFF;
                break;
                case '5':
                    LED3_ON;
                break;
                case '6':
                    LED3_OFF;
                break;
                default:
                    break;
            }
            
			break;
		}

		default:
			break;
	}
}
void hal_entry(void)
{
    /* TODO: add your own code here */
	
	UART0_Init();
	
	while(1)
	{

	}

#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

以上就是所有配置的过程。之后就可以用串口来控制LED啦
*附件:uart_test.rar

更多回帖

发帖
×
20
完善资料,
赚取积分