ST意法半导体
直播中

李巍

7年用户 1475经验值
私信 关注
[问答]

使用stm32f030中的uart将字符传输到pc失败是何原因

无效 uartinit()
{
        USART_InitTypeDef uartInitStruct;
        GPIO_InitTypeDef gpioInitStruct;
        RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
        gpioInitStruct.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
        gpioInitStruct.GPIO_Mode = GPIO_Mode_AF;
        gpioInitStruct.GPIO_OType = GPIO_OType_PP;
        gpioInitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
        gpioInitStruct.GPIO_Speed = GPIO_Speed_Level_1;
        GPIO_Init(GPIOA,&gpioInitStruct);
        uartInitStruct.USART_BaudRate = 9600;
        uartInitStruct.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
        uartInitStruct.USART_WordLength = USART_WordLength_8b;
        uartInitStruct.USART_Parity = USART_Parity_No;
        uartInitStruct.USART_StopBits = USART_StopBits_1;
        uartInitStruct.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
        USART_Init(USART1,& uartInitStruct);
}
主函数()
{
        uint16_t alpha = 'A';
         uart初始化();
         而(1)
         {
                 USART_SendData(USART1,alpha);
                 USART_SendData(USART1,'n');
         }
}

我正在尝试使用 STM32f030 中的 uart 将字符传输到 pc,使用 uart 配置完成初始化,没有错误,但我看不到发送的数据。请帮助






回帖(1)

施敏

2022-12-9 11:14:11
该线应该旋转等待 TXE 断言
您是否正确复制粘贴了它?也许你错过了分号?
替代方法是先检查它是否为空


  • if (USART_GetFlagStatus(USART1, USART_FLAG_TXE) == SET)
  • USART_SendData(USART1, (uint8_t)0x55);
举报

更多回帖

发帖
×
20
完善资料,
赚取积分