打印

STM32F407的串口通信问题求助??

[复制链接]
181|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小蘭|  楼主 | 2018-7-29 16:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于是新手,也没什么积分所以发的帖子性质不对还望见谅,下面是我自己配置的USART1的代码,主要就是想实现查询方式的简单收发,但是发现根本收不到数据,主函数的while循环中的条件语句执行不下去。因为经验很有限没有找到问题所在,还望论坛的朋友们能够指点解惑。
void init_usart(u32 baud){
        GPIO_InitTypeDef GPIOA_Init;
        USART_InitTypeDef USART1_Init;
        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE);

        
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1);
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);
        
        GPIOA_Init.GPIO_Pin=GPIO_Pin_9|GPIO_Pin_10;
        GPIOA_Init.GPIO_Mode=GPIO_Mode_AF;
        GPIOA_Init.GPIO_Speed=GPIO_Speed_50MHz;
        GPIOA_Init.GPIO_OType= GPIO_OType_PP;
        GPIOA_Init.GPIO_PuPd=GPIO_PuPd_UP;
        GPIO_Init(GPIOA,&GPIOA_Init);
        
        
        USART1_Init.USART_BaudRate=baud;
        USART1_Init.USART_Mode=USART_HardwareFlowControl_None;
        USART1_Init.USART_Mode=USART_Mode_Rx|USART_Mode_Tx;
        USART1_Init.USART_Parity=USART_Parity_No;
        USART1_Init.USART_StopBits=USART_StopBits_1;
        USART1_Init.USART_WordLength=USART_WordLength_8b;
        USART_Init(USART1,&USART1_Init);
        USART_Cmd(USART1,ENABLE);        
}
int main()
{
        init_usart(115200);

        while(1){
                if(USART_GetFlagStatus(USART1, USART_FLAG_RXNE)==SET){
                  USART_SendData(USART1,USART_ReceiveData(USART1));
                  while (USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);
                }
               
        }
}

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

451

主题

463

帖子

1

粉丝