查看: 3889|回复: 0

FM33LE0xx配置串口中断接收,收不全

[复制链接]

2

主题

8

帖子

274

积分

高级工程师

Rank: 3Rank: 3

积分
274
发表于 2024-8-18 17:35:56 | 显示全部楼层 |阅读模式
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? 调试发现收不全,如下。

2b29cfed521030014d3ba1e1551543d.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表