From 12f3c239682e19c815c0c1e8f760fc377701b53d Mon Sep 17 00:00:00 2001 From: andy <1414772332@qq.com> Date: Fri, 10 Oct 2025 14:58:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E6=B6=88=E4=B8=B2=E5=8F=A3=E8=BE=93?= =?UTF-8?q?=E5=87=BA=E4=BA=92=E6=96=A5=E9=87=8F=E4=BF=9D=E6=8A=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Project/Src/Drive/Source/usart.c | 72 ++++++++++++++++---------------- Project/Src/ReadMe.txt | 4 ++ 2 files changed, 40 insertions(+), 36 deletions(-) diff --git a/Project/Src/Drive/Source/usart.c b/Project/Src/Drive/Source/usart.c index 8fec4b5..e13dd0e 100644 --- a/Project/Src/Drive/Source/usart.c +++ b/Project/Src/Drive/Source/usart.c @@ -13,7 +13,7 @@ ************************************************************************************ ***/ -#include "usart.h" +#include "usart.h" #include "libc.h" #include "buff.h" @@ -50,27 +50,27 @@ void USART_GPIO_Config (void) GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //速度等级 //初始化 TX 引脚 - GPIO_InitStructure.GPIO_Pin = USART1_TX_PIN; - GPIO_Init(USART1_TX_PORT, &GPIO_InitStructure); - //初始化 RX 引脚 - GPIO_InitStructure.GPIO_Pin = USART1_RX_PIN; - GPIO_Init(USART1_RX_PORT, &GPIO_InitStructure); - + GPIO_InitStructure.GPIO_Pin = USART1_TX_PIN; + GPIO_Init(USART1_TX_PORT, &GPIO_InitStructure); + //初始化 RX 引脚 + GPIO_InitStructure.GPIO_Pin = USART1_RX_PIN; + GPIO_Init(USART1_RX_PORT, &GPIO_InitStructure); + //IO复用,复用到USART1 - GPIO_PinAFConfig(USART1_TX_PORT,USART1_TX_PinSource,GPIO_AF_USART1); - GPIO_PinAFConfig(USART1_RX_PORT,USART1_RX_PinSource,GPIO_AF_USART1); + GPIO_PinAFConfig(USART1_TX_PORT,USART1_TX_PinSource,GPIO_AF_USART1); + GPIO_PinAFConfig(USART1_RX_PORT,USART1_RX_PinSource,GPIO_AF_USART1); } // 函数:USART 口初始化 // void Usart_Config(void) -{ +{ USART_InitTypeDef USART_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); - + // IO口初始化 USART_GPIO_Config(); - + // 配置串口各项参数 USART_InitStructure.USART_BaudRate = USART1_BaudRate; //波特率 USART_InitStructure.USART_WordLength = USART_WordLength_8b; //数据位8位 @@ -78,7 +78,7 @@ void Usart_Config(void) USART_InitStructure.USART_Parity = USART_Parity_No ; //无校验 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //发送和接收模式 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // 不使用硬件流控制 - + USART_Init(USART1,&USART_InitStructure); //初始化串口1 USART_Cmd(USART1,ENABLE); //使能串口1 @@ -90,20 +90,20 @@ static int usart_putc(int c) { USART_SendData( USART1,(u8)c ); // 发送单字节数据 - while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //等待发送完毕 + while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //等待发送完毕 return (c); //返回字符 } static int usart_puts(const void *data,int size) { - MUTEX_TAKE(); + // MUTEX_TAKE(); for(int i=0;i