EXP432串口发送代码
时间: 2023-07-24 11:06:30 浏览: 40
以下是一个完整的EXP432串口发送代码示例,包含了串口初始化和发送函数的完整实现:
```c
#include <stdint.h>
#include <stdbool.h>
#include <stdio.h>
#include "ti/devices/msp432p4xx/driverlib/driverlib.h"
#define BAUD_RATE 115200
void UART_Init(void)
{
// 配置GPIO
MAP_GPIO_setAsPeripheralModuleFunctionInputPin(GPIO_PORT_P1, GPIO_PIN2 | GPIO_PIN3, GPIO_PRIMARY_MODULE_FUNCTION);
// 配置UART
const eUSCI_UART_Config uartConfig = {
EUSCI_A_UART_CLOCKSOURCE_SMCLK, // 时钟源
6, // BRCLK = SMCLK / 6
8, // 时钟分频 = 8
0x55, // 上电时的首个数据位
EUSCI_A_UART_NO_PARITY, // 无校验位
EUSCI_A_UART_LSB_FIRST, // 数据位顺序
EUSCI_A_UART_ONE_STOP_BIT, // 停止位数
EUSCI_A_UART_MODE, // UART模式
EUSCI_A_UART_OVERSAMPLING_BAUDRATE_GENERATION // 采用过采样的方式生成波特率
};
MAP_UART_initModule(EUSCI_A0_BASE, &uartConfig);
// 使能UART
MAP_UART_enableModule(EUSCI_A0_BASE);
}
void UART_SendString(const char *str)
{
while (*str != '\0') {
MAP_UART_transmitData(EUSCI_A0_BASE, *str++);
}
}
int main(void)
{
// 关闭看门狗
WDT_A_holdTimer();
// 初始化UART
UART_Init();
// 发送字符串
UART_SendString("Hello World!\r\n");
while (1);
}
```
在这个代码示例中,我们首先定义了一个常量BAUD_RATE,用于指定串口的波特率。然后定义了UART_Init函数和UART_SendString函数,其中UART_Init函数用于配置和初始化串口模块,UART_SendString函数用于发送字符串。
在主函数中,我们关闭看门狗,并调用UART_Init函数初始化串口模块。然后使用UART_SendString函数发送字符串"Hello World!\r\n"。最后进入一个死循环,保持程序运行。