战舰V3的USERT3初始化问题,新手没有多少金币

2019-08-22 16:27发布

void chuankou_init(void){
        RCC->APB2ENR |=(1<<3);//使能PB
        RCC->APB1ENR |=(1<<18);//使能USART3
        //使用PB10  PB11
        AFIO->MAPR &=~(0x3<<4);
       
        //PB10推挽输出
        GPIOB->CRH &=~(0xF<<8);
        GPIOB->CRH |=(0xB<<8);
       
        //PB11上拉输入
        GPIOB->CRH &=~(0xF<<12);
        GPIOB->CRH |=(0x8<<12);
        GPIOB->ODR |=(1<<11);
       
       //usart3复位
        RCC->APB1RSTR |=(1<<18);
        RCC->APB1RSTR &=~(1<<18);
       


        //波特率
        USART3->BRR =(36*1000000)/(9600);
       
        //数据格式
        USART3->CR1 &=~(1<<12);
        USART3->CR2 &=~(0x3<<12);//
        USART3->CR1 |=(0x3<<2);//

        //串口使能
        USART3->CR1 |=(1<<13);
       
}

//发送数据
void usart_send_data(u8 data){
        while(!(USART3->SR & (1<<6))){}
        USART3->DR =data;
}
数据总是发不出去,麻烦帮忙看下错在哪,K1已经拨到RS232了,跳线帽拔掉了,与串口助手通信总是没有数据

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。