取消串口输出互斥量保护
This commit is contained in:
@@ -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; //<2F>ٶȵȼ<C8B5>
|
||||
|
||||
//<2F><>ʼ<EFBFBD><CABC> TX <09><><EFBFBD><EFBFBD>
|
||||
GPIO_InitStructure.GPIO_Pin = USART1_TX_PIN;
|
||||
GPIO_Init(USART1_TX_PORT, &GPIO_InitStructure);
|
||||
//<2F><>ʼ<EFBFBD><CABC> RX <20><><EFBFBD><EFBFBD>
|
||||
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);
|
||||
//<2F><>ʼ<EFBFBD><CABC> RX <20><><EFBFBD><EFBFBD>
|
||||
GPIO_InitStructure.GPIO_Pin = USART1_RX_PIN;
|
||||
GPIO_Init(USART1_RX_PORT, &GPIO_InitStructure);
|
||||
|
||||
//IO<49><4F><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>õ<EFBFBD>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);
|
||||
}
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>USART <20>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
//
|
||||
void Usart_Config(void)
|
||||
{
|
||||
{
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
|
||||
|
||||
|
||||
// IO<49>ڳ<EFBFBD>ʼ<EFBFBD><CABC>
|
||||
USART_GPIO_Config();
|
||||
|
||||
|
||||
// <20><><EFBFBD>ô<EFBFBD><C3B4>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_InitStructure.USART_BaudRate = USART1_BaudRate; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //<2F><><EFBFBD><EFBFBD>λ8λ
|
||||
@@ -78,7 +78,7 @@ void Usart_Config(void)
|
||||
USART_InitStructure.USART_Parity = USART_Parity_No ; //<2F><>У<EFBFBD><D0A3>
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //<2F><><EFBFBD>ͺͽ<CDBA><CDBD><EFBFBD>ģʽ
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // <20><>ʹ<EFBFBD><CAB9>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
|
||||
USART_Init(USART1,&USART_InitStructure); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
||||
USART_Cmd(USART1,ENABLE); //ʹ<>ܴ<EFBFBD><DCB4><EFBFBD>1
|
||||
|
||||
@@ -90,20 +90,20 @@ static int usart_putc(int c)
|
||||
{
|
||||
|
||||
USART_SendData( USART1,(u8)c ); // <20><><EFBFBD>͵<EFBFBD><CDB5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
||||
return (c); //<2F><><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>
|
||||
}
|
||||
|
||||
static int usart_puts(const void *data,int size)
|
||||
{
|
||||
MUTEX_TAKE();
|
||||
// MUTEX_TAKE();
|
||||
for(int i=0;i<size;i++)
|
||||
{
|
||||
USART_SendData( USART1,((u8 *)data)[i] ); // <20><><EFBFBD>͵<EFBFBD><CDB5>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
while (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == RESET); //<2F>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
}
|
||||
MUTEX_RELEASE();
|
||||
// MUTEX_RELEASE();
|
||||
return size;
|
||||
}
|
||||
|
||||
@@ -120,9 +120,9 @@ static int usart_getc(void)
|
||||
static int usart_open(void)
|
||||
{
|
||||
MUTEX_INIT();
|
||||
|
||||
|
||||
buff_init(&g_recv,1024,0,0,0);
|
||||
|
||||
|
||||
/* <20><EFBFBD><F2BFAABD><EFBFBD><EFBFBD>ж<EFBFBD> */
|
||||
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
|
||||
NVIC_InitTypeDef NVIC_InitStructure;
|
||||
@@ -196,20 +196,20 @@ void USART3_Init (void)
|
||||
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; //<2F>ٶȵȼ<C8B5>
|
||||
|
||||
//<2F><>ʼ<EFBFBD><CABC> TX <09><><EFBFBD><EFBFBD>
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
//<2F><>ʼ<EFBFBD><CABC> RX <20><><EFBFBD><EFBFBD>
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
//<2F><>ʼ<EFBFBD><CABC> RX <20><><EFBFBD><EFBFBD>
|
||||
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
|
||||
GPIO_Init(GPIOB, &GPIO_InitStructure);
|
||||
|
||||
//IO<49><4F><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD>õ<EFBFBD>USART1
|
||||
GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_USART3);
|
||||
GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_USART3);
|
||||
|
||||
|
||||
GPIO_PinAFConfig(GPIOB,GPIO_PinSource10,GPIO_AF_USART3);
|
||||
GPIO_PinAFConfig(GPIOB,GPIO_PinSource11,GPIO_AF_USART3);
|
||||
|
||||
|
||||
USART_InitTypeDef USART_InitStructure;
|
||||
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3, ENABLE);
|
||||
|
||||
|
||||
// <20><><EFBFBD>ô<EFBFBD><C3B4>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_InitStructure.USART_BaudRate = 115200; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_InitStructure.USART_WordLength = USART_WordLength_8b; //<2F><><EFBFBD><EFBFBD>λ8λ
|
||||
@@ -218,9 +218,9 @@ void USART3_Init (void)
|
||||
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; //<2F><><EFBFBD>ͺͽ<CDBA><CDBD><EFBFBD>ģʽ
|
||||
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; // <20><>ʹ<EFBFBD><CAB9>Ӳ<EFBFBD><D3B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_Init(USART3,&USART_InitStructure); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
||||
NVIC_InitTypeDef NVIC_InitStructure;
|
||||
NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>ͨ<EFBFBD><CDA8>
|
||||
@@ -229,8 +229,8 @@ void USART3_Init (void)
|
||||
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQͨ<51><CDA8>ʹ<EFBFBD><CAB9>
|
||||
NVIC_Init(&NVIC_InitStructure); //<2F><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>VIC<49>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>
|
||||
USART_Cmd(USART3,ENABLE); //ʹ<>ܴ<EFBFBD><DCB4><EFBFBD>1
|
||||
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
|
||||
|
||||
USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@ static u8 g_keyPressed=0;
|
||||
void USART3_IRQHandler (void)
|
||||
{
|
||||
u8 res=0;
|
||||
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
|
||||
if(USART_GetITStatus(USART3, USART_IT_RXNE) != RESET)
|
||||
{
|
||||
g_key=USART_ReceiveData(USART3);
|
||||
if ((g_keyPress^g_key)&g_keyPress)
|
||||
|
@@ -495,3 +495,7 @@
|
||||
2025.9.21
|
||||
usb<73><62><EFBFBD><EFBFBD>û<EFBFBD>з<EFBFBD>Ӧ<EFBFBD><D3A6>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>û<EFBFBD>йر<D0B9>vbus<75><73><EFBFBD><EFBFBD>
|
||||
ö<>ٲ<EFBFBD><D9B2>ɹ<EFBFBD><C9B9><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>ij<DEB8><C4B3><EFBFBD>id
|
||||
2025.10.10
|
||||
ʹ<>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ӡ<EFBFBD><D3A1><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD>⣬<EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>
|
||||
<09><><EFBFBD>¸<EFBFBD><C2B8><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><DEB7><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD>ȡ<EFBFBD>
|
||||
<09><><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰʹ<C7B0><CAB9><EFBFBD>˻<EFBFBD><CBBB><EFBFBD><EFBFBD><EFBFBD>api<70><69>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>apiֻ<69><D6BB><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3>е<EFBFBD><D0B5><EFBFBD>
|
||||
|
Reference in New Issue
Block a user