嵌入式学习小组
直播中

幽默

9年用户 759经验值
擅长:362163
私信 关注

NUC230 TRM该如何正常初始化UART3接脚?

请问一下各位大大,NUC230 TRM手册中定义PA2PA3可以用UART3

但我在clk.h中找不到UART3_MODULE定义

请问该如何正常初始化UART3接脚?



回帖(1)

李鸿洋

2023-10-26 10:32:27
在NUC230的CMSIS头文件"NUC230.h"中,可以找到UART3的定义,即UART3的寄存器地址和相关定义,你可以使用这些定义来初始化UART3接口。

以下是一个基本的UART3初始化示例:

```c
#include "NUC230.h"

void UART3_Init(void)
{
    // Enable UART3 clock
    CLK_EnableModuleClock(UART3_MODULE);
    // Set UART3 multi-function pins
    SYS->PA_H_MFP &= ~(SYS_PA_H_MFP_PA13_MFP_Msk | SYS_PA_H_MFP_PA14_MFP_Msk);
    SYS->PA_H_MFP |= (SYS_PA_H_MFP_PA13_MFP_UART3_TXD | SYS_PA_H_MFP_PA14_MFP_UART3_RXD);
    // Set UART3 Baudrate
    UART3->BAUD = UART_BAUD_MODE1 | UART_BAUD_MODE1_DIVIDER(__HIRC, 115200);
    // Enable UART3
    UART3->IER |= UART_IER_RDA_IEN_Msk;
}
```

在此示例中,我们首先将UART3的时钟使能,然后设置PA13和PA14引脚为UART3的TXD和RXD功能。接下来,通过设置UART3的波特率寄存器来设置波特率为115200。最后,使能UART3接收中断。

此外,在CLK.h文件中,你可以找到UART3的时钟预定义:`#define UART3_MODULE     (0x20)`,你也可以使用它来使能UART3的时钟。

如果有其他疑问,也可以参考NUC230 TRM手册中的UART章节,了解更多关于UART3的寄存器和功能描述。
举报

更多回帖

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