stm32f103rct6单片机串口波形不对求解!

2020-01-01 17:39发布

本帖最后由 牛东 于 2017-1-15 13:10 编辑

stm32的一个下位机串口通讯项目,串口波特率9600,设置如下,一位接收,8个数据位,一位停止

void uart_init(u32 pclk2,u32 bound)
{           
        float temp;
        u16 mantissa;
        u16 fraction;           
        temp=(float)(pclk2*1000000)/(bound*16);
        mantissa=temp;        
        fraction=(temp-mantissa)*16;         
        mantissa<<=4;
        mantissa+=fraction;
        RCC->APB2ENR|=1<<2;   
        RCC->APB2ENR|=1<<14;
        GPIOA->CRH&=0XFFFFF00F;
        GPIOA->CRH|=0X000008B0;
                  
        RCC->APB2RSTR|=1<<14;  
        RCC->APB2RSTR&=~(1<<14);              
        
         USART1->BRR=mantissa;
        USART1->CR1|=0X200C;
        USART1->CR2&=0Xcfff;  
        #if EN_USART1_RX               

        USART1->CR1|=1<<8;   
        USART1->CR1|=1<<5;            
        MY_NVIC_Init(1,3,USART1_IRQn,2);
        #endif
}


主程序调用如下:

          Stm32_Clock_Init(9);         //72M
        uart_init(72,9600);  //9600


PCB上电后测得一个数据 F0 的波形如下



661626173844008942.jpg (81.59 KB, 下载次数: 0) 下载附件 9600波特率,每一位100US即一格,10位就是10格,可是以上的波形明显是11格还多,不解! ... ... ... ... .. ... 2017-1-15 12:59 上传


9600波特率,每一位100US即一格,10位就是10格,可是以上的波形明显是11格还多,不解! ...
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。