|
void UART1_IRQHandler(void)
{
if((FL_ENABLE == FL_UART_IsEnabledIT_RXBuffFull(UART1))
&& (FL_SET == FL_UART_IsActiveFlag_RXBuffFull(UART1)))
{
volatile uint8_t data = FL_UART_ReadRXBuff(UART1);
// if (data == 0xfe) {
// boot_it = true;
// }
DatMgr_ReceiveCB(CH_UART1, (BYTE *)&data, 1);
FL_UART_ClearFlag_RXBuffFull(UART1);
}
}
void uart_init( UART_Type *uart )
{
FL_GPIO_InitTypeDef gpio_init_struct;
FL_UART_InitTypeDef default_init_struct;
if ( uart == UART1 )
{
/* RX */
gpio_init_struct.pin = FM_UART1_RX_PIN;
gpio_init_struct.mode = FL_GPIO_MODE_DIGITAL;
gpio_init_struct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
gpio_init_struct.pull = FL_ENABLE;
gpio_init_struct.remapPin = FL_DISABLE;
FL_GPIO_Init( FM_UART1_GPIO, &gpio_init_struct );
/* TX */
gpio_init_struct.pin = FM_UART1_TX_PIN;
gpio_init_struct.mode = FL_GPIO_MODE_DIGITAL;
gpio_init_struct.outputType = FL_GPIO_OUTPUT_PUSHPULL;
gpio_init_struct.pull = FL_DISABLE;
gpio_init_struct.remapPin = FL_DISABLE;
FL_GPIO_Init( FM_UART1_GPIO, &gpio_init_struct );
default_init_struct.clockSrc = FL_RCC_UART1_CLK_SOURCE_APB1CLK;
}
default_init_struct.baudRate = 115200;
default_init_struct.dataWidth = FL_UART_DATA_WIDTH_8B;
default_init_struct.stopBits = FL_UART_STOP_BIT_WIDTH_1B;
default_init_struct.parity = FL_UART_PARITY_NONE;
default_init_struct.transferDirection = FL_UART_DIRECTION_TX_RX;
FL_UART_Init( uart, &default_init_struct );
FL_UART_EnableIT_RXBuffFull(UART1); //使能接收中断
}
发送 at+getver? 调试发现收不全,如下。
|
|