diff --git a/app/stm32fxxx_app/prj/BCU_APP.uvprojx b/app/stm32fxxx_app/prj/BCU_APP.uvprojx
index 7490605..c987676 100644
--- a/app/stm32fxxx_app/prj/BCU_APP.uvprojx
+++ b/app/stm32fxxx_app/prj/BCU_APP.uvprojx
@@ -10,15 +10,15 @@
stm32f407
0x4
ARM-ADS
- 5050106::V5.05 update 1 (build 106)::ARMCC
- 5050106::V5.05 update 1 (build 106)::ARMCC
+ 5060960::V5.06 update 7 (build 960)::.\ARMCC
+ 5060960::V5.06 update 7 (build 960)::.\ARMCC
0
STM32F407ZGTx
STMicroelectronics
- Keil.STM32F4xx_DFP.2.16.0
- http://www.keil.com/pack/
+ Keil.STM32F4xx_DFP.3.0.0
+ https://www.keil.com/pack/
IRAM(0x20000000,0x00020000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
@@ -187,7 +187,6 @@
2
0
0
- 0
1
0
8
@@ -1068,8 +1067,8 @@
STM32F407VGTx
STMicroelectronics
- Keil.STM32F4xx_DFP.2.16.0
- http://www.keil.com/pack/
+ Keil.STM32F4xx_DFP.3.0.0
+ https://www.keil.com/pack/
IRAM(0x20000000,0x00020000) IRAM2(0x10000000,0x00010000) IROM(0x08000000,0x00100000) CPUTYPE("Cortex-M4") FPU2 CLOCK(12000000) ELITTLE
@@ -1238,7 +1237,6 @@
2
0
0
- 0
1
0
8
diff --git a/library/drv_peripheral/drv_qfc41d.c b/library/drv_peripheral/drv_qfc41d.c
index dc30223..8f92bae 100644
--- a/library/drv_peripheral/drv_qfc41d.c
+++ b/library/drv_peripheral/drv_qfc41d.c
@@ -188,7 +188,8 @@ uint8_t drv_qfc41d_init(void)
{
//初始化串口
drv_uart_init((UartDev)qfc41dItem.dev, 115200, 0 | UART_CFG_STOP_BIT_1, kGpioType_WIRELESSUart_Tx, kGpioType_WIRELESSUart_Rx);
-
+
+ USART2->CR1 = USART_CR1_TE | USART_CR1_RE | USART_CR1_RXNEIE | USART_CR1_UE;
//设置接收回调函数
drv_uart_set_interrupt(QFC41D_UART_PORT, kUartInterrupt_Rx, APP_CFG_INT_PRIO_UART2_RX, drv_qf41d_uart_rx_it_call);//#define SIM_UART_PORT kUartDev_2
diff --git a/library/drv_stm32f4xx/drv_uart.c b/library/drv_stm32f4xx/drv_uart.c
index f4270fa..ea1c3d6 100644
--- a/library/drv_stm32f4xx/drv_uart.c
+++ b/library/drv_stm32f4xx/drv_uart.c
@@ -150,6 +150,7 @@ static kit_ret_e drv_uart_set_clock_gpio(UartDev dev, uint16_t tx_idx, uint16_t
case kUartDev_2:
RCC->APB1ENR |= RCC_APB1Periph_USART2;
+ RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; // 浣胯兘GPIOA鏃堕挓
if((tx_io == GPIO_PORT_PIN(kGpioPort_A, 2)) && (rx_io == GPIO_PORT_PIN(kGpioPort_A, 3)))
{
drv_gpio_set_af(kGpioPort_A, 2, 7);
@@ -298,6 +299,7 @@ kit_ret_e drv_uart_init(UartDev dev, uint32_t baudrate, uint32_t uart_config, u
reg->BRR = stm32_uart[dev].base_baudrate / (baudrate / 2400);
//浣胯兘鏀躲佸彂鍜寀art
tmp = USER_CR1_UE | USART_Mode_Rx | USART_Mode_Tx;
+ tmp = USART_CR1_TE | USART_CR1_RE | USART_CR1_RXNEIE;
//璁剧疆鏁版嵁闀垮害
tmp |= (uart_config & 0x0001) << 12;
//璁剧疆鏍¢獙
@@ -410,6 +412,7 @@ static void uart_irq_handler(UartDev dev)
item->call[kUartInterrupt_Rx](kKit_Ret_Ok, &data);
}
}
+ //鍙戦佷腑鏂洖璋
else if((reg->SR & USER_SR1_TCIE) != 0)
{
//娓呴櫎鏍囧織浣