以下是使用STM32固件库进行串口通信的示例代码:
#include "stm32fxx.h"
#include <stdio.h>
USART_InitTypeDef USART_InitStructure;
// 串口初始化配置
void USART_Configuration(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USARTx, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; // 复用功能
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
// 配置TX引脚
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_USART_TX;
GPIO_Init(GPIOx, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOx, GPIO_PinSource_USART_TX, GPIO_AF_USARTx);
// 配置RX引脚
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_USART_RX;
GPIO_Init(GPIOx, &GPIO_InitStructure);
GPIO_PinAFConfig(GPIOx, GPIO_PinSource_USART_RX, GPIO_AF_USARTx);
// USART配置
USART_InitStructure.USART_BaudRate = 9600;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_Hardw