This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请问关于AM437x UART的初始化问题

我在AM437x上跑UcosIII系统,系统可以正常运行。对UART0进行初始化,配置了管脚、时钟、中断,但是用串口调试助手向UART0发送数据时,UART0没有收到。具体配置如下:

管脚:CTRL_CONF_UART0_RXD = 0x08060000;   CTRL_CONF_UART0_TXD = 0x08060000;   另RTS和CTS没有使用,所以没有配置。

时钟:PRCM_CM_WKUP_CLKSTCTRL = 0x00008502;   PRCM_CM_WKUP_UART0_CLKCTRL = 0x00000002;  

中断:Interrupt Set-Enable(0x4824110c) = 0x00010000;   GIC级和CPU级中断都已打开,定时器中断是可以正常进入的。

以上数据是初始化完成后,使用仿真器查看到的数据。

然后参照TRM   21.4.1.1.3中对UART0进行初始化。

向UART0发送数据时,AM437x管脚K25上有正确波形,但是UART0的UART_RHR中没有数据,而且Interrupt Set-Pending中UART0对应位也没有被置位,无法进入UART0中断处理函数。

请问还需要设置哪里,才能使用UART0正常工作。

我查看寄存器PRCM_RM_WKUP_UART0_CONTEXT,值是0x00000101,代表UART0模块没有与内核连接?