嵌入式学习小组
直播中

余温重顾

9年用户 881经验值
擅长:可编程逻辑 嵌入式技术 EMC/EMI设计
私信 关注

NUC230如何使用UART3功能?

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

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

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

回帖(1)

刘埃生

2024-5-20 17:46:37
NUC230的UART3接口可以通过PA2和PA3引脚实现。在使用UART3之前,需要进行以下初始化步骤:

1. 确保已经包含相应的头文件:

``` c
#include "NUC230.h"
#include "uart.h"
```

2. 选择和配置UART3的时钟,设置UART3的时钟源和时钟分频系数,并使能UART3的时钟:

``` c
CLK_EnableModuleClock(UART3_MODULE);
CLK_SetModuleClock(UART3_MODULE, CLK_CLKSEL1_UART3SEL_HIRC, CLK_CLKDIV_UART3(1));
```

3. 配置UART3的引脚PA2和PA3为UART模式,使能PA2和PA3 的输入输出功能:

``` c
SYS->GPA_MFPL &= ~(SYS_GPA_MFPL_PA2MFP_Msk | SYS_GPA_MFPL_PA3MFP_Msk);
SYS->GPA_MFPL |= (SYS_GPA_MFPL_PA2MFP_UART3_RXD | SYS_GPA_MFPL_PA3MFP_UART3_TXD);
GPIO_SetMode(PA, BIT2 | BIT3, GPIO_MODE_OUTPUT);
```

4. 配置UART3的参数,如波特率、数据位、停止位、奇偶校验位等:

``` c
UART_Open(UART3, 9600);
UART_SetLine_Config(UART3, 0, UART_WORD_LEN_8, UART_PARITY_NONE, UART_STOP_BIT_1);
```

其中,UART_Open函数用于打开UART3接口,并设置波特率;UART_SetLine_Config函数用于设置UART3的数据位、停止位、奇偶校验位等参数。

接下来就可以使用UART3接口了,比如通过UART3发送和接收数据:

``` c
UART_Write(UART3, "Hello, World!", 13);
char buffer[20];
UART_Read(UART3, buffer, 20);
```

在上面的代码中,UART_Write函数用于通过UART3发送一个字符串,UART_Read函数用于从UART3接收数据并存储到一个缓冲区中。
举报

更多回帖

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