一、背景
利用EB进行Uart端口配置,主要实现在KIT_A2G_TC397_5V_TFT上实现Uart通信功能。本文主要使用的是EB23,MCAL1.3版本进行开发。
由KIT_A2G_TC397_5V_TFT开发原理图可知,UART0位于RX P14.1和TX P14.0
二、配置
(1)添加MCU、Irq、Uart模块
(2)进入MCU的McuClockSettingConfig模块,选择McuClockSettingConfig_0
打开后选择McuAscLinSlowClockSourceselection为ASCLINS_CLOCK_SOURCE_ASCLINSI_SEL1,并设置McuAscLinSlowFrequency为8.0E7
进入MCU模块的McuHardwareResourceAllocationConf中的McuAscLinAllocationConf选择McuAscLinAllocationConf_0为ASCLIN_CH_USED_BY_UART_DRIVER
(3)进入Port界面,找到PortContainer_7,双击打开
进入PortPin将PORT_14_PIN_0和PORT_14_PIN_1改个名字
双击PORT_14_PIN_0打开,设置为输出模式和ALT2
双击PORT_14_PIN_1,设置为输入模式,输入模式下不能选择复用模式
(4)进入Uart模块,选择General勾选必要的API
(5)进入UartChannel创建一个新的UartChannel_0
双击UartChannel_0打开,在General设置波特率和Rx引脚
(6)进入Irq模块,找到IrqASCLINConfig,新建一个IrqASCLINConfig,命名为IrqASCLINConfig_0
双击打开,将中断类型默认设置为CAT1,设置IrqAsclin0TxPrio优先级,此处设置为10
设置IrqAsclin0RxPrio 优先级,此处设置为11
设置IrqAsclin0ErrPrio优先级,此处设置为12
将IrqAsclin0TxTos、IrqAsclin0RxTos、IrqAsclin0ErrTos等中断托管核默认设置为CPU0 。
由于发送中断模式使用了Uart_IsrError(),所以IsrError是必须配置的。
(7)保存,生成代码
(8)向工程中添加AscLin_Irq.c文件,从MCAL安装目录Demo中拷贝该文件至工程中
(9)添加Uart初始化代码
void App_Uart_Init(void)
{
#define UART_SRC_SET_SRE (1U)
Uart_Init(&Uart_Config);
IrqAsclin_Init();
SRC_ASCLIN0TX.B.SRE = UART_SRC_SET_SRE;
SRC_ASCLIN0RX.B.SRE = UART_SRC_SET_SRE;
SRC_ASCLIN0ERR.B.SRE = UART_SRC_SET_SRE;
}
(10)添加发送Demo
void App_Uart_Demo(void)
{
Uart_ReturnType RetApi;
RetApi = Uart_Write(0, "Hello World\r\n", 13);
if (RetApi == UART_E_OK)
{
}
else
{
}
}
参考文档: