分享:战舰北斗卫星串口3改成串口2的程序

2019-07-20 22:54发布

1)硬件上PA3(RX)对应CBC_TX,P2(TX)对应CBC_RX
2)串口2引脚的更改和时钟的更改
[mw_shl_code=c,true]void usart2_init(u32 bound)
{  

        NVIC_InitTypeDef NVIC_InitStructure;
        GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);        // GPIOA时钟
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE); //串口时钟使能

        USART_DeInit(USART2);  //复位串口3
                 //USART2_TX   PA2
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PA2
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //复用推挽输出
    GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化PA2
   
        //USART2_RX          PA3
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);  //初始化PA3[/mw_shl_code]
3)其它对应串口3的程序改为串口2,对应的串口3.h也要改为串口2.h
还有文件夹usart3对应改为usart2

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