求一个gd32f103vct6 串口4初始化代码

[复制链接]
437|0
手机看帖
扫描二维码
随时随地手机跟帖
陈工123|  楼主 | 2019-7-16 17:33 | 显示全部楼层 |阅读模式

void Uart4_Init(uint32_t baud)
{
        GPIO_InitPara                 GPIO_InitStructure;
        USART_InitPara                 USART_InitStructure;
        NVIC_InitPara                 NVIC_InitStructure;
       
        RCC_APB2PeriphClock_Enable(RCC_APB2PERIPH_GPIOC | RCC_APB2PERIPH_AF, ENABLE);
        RCC_APB1PeriphClock_Enable(RCC_APB1PERIPH_UART4, ENABLE);

        USART_DeInit(UART4);
        /**/
        GPIO_InitStructure.GPIO_Pin = GPIO_PIN_12;
        GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
        GPIO_InitStructure.GPIO_Mode = GPIO_MODE_OUT_PP;
        GPIO_Init(GPIOC, &GPIO_InitStructure);
        GPIO_SetBits(GPIOC, GPIO_PIN_12);
        //进入设置状态
       
         //USART4_TX   PC.10
        GPIO_InitStructure.GPIO_Pin = GPIO_PIN_10;
        GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
        GPIO_InitStructure.GPIO_Mode = GPIO_MODE_AF_PP;
        GPIO_Init(GPIOC, &GPIO_InitStructure);

        //USART4_RX          PC.11
        GPIO_InitStructure.GPIO_Pin = GPIO_PIN_11;
        GPIO_InitStructure.GPIO_Speed = GPIO_SPEED_50MHZ;
        GPIO_InitStructure.GPIO_Mode = GPIO_MODE_IPU;
        GPIO_Init(GPIOC, &GPIO_InitStructure);
       
        //Usart4 NVIC
        NVIC_InitStructure.NVIC_IRQ = UART4_IRQn;                //UART4_IRQHandler
        NVIC_InitStructure.NVIC_IRQPreemptPriority=3;        //least 3
        NVIC_InitStructure.NVIC_IRQSubPriority = 3;                //least 3
        NVIC_InitStructure.NVIC_IRQEnable = ENABLE;                       
        NVIC_Init(&NVIC_InitStructure);       

   
        USART_InitStructure.USART_BRR = baud;
        USART_InitStructure.USART_WL = USART_WL_8B;
        USART_InitStructure.USART_STBits = USART_STBITS_1;
        USART_InitStructure.USART_Parity = USART_PARITY_RESET;
        USART_InitStructure.USART_HardwareFlowControl = USART_HARDWAREFLOWCONTROL_NONE;
        USART_InitStructure.USART_RxorTx = USART_RXORTX_RX | USART_RXORTX_TX;
        USART_Init(UART4, &USART_InitStructure);
  
        //USART_DMA_Enable(UART4,USART_DMAREQ_TX | USART_DMAREQ_RX, ENABLE);
        USART_INT_Set(UART4, USART_INT_RBNE, ENABLE);//开启串口接收中断
        USART_Enable(UART4, ENABLE);                    //使能串口
        //while (USART_GetBitState(UART4, USART_FLAG_TC) == RESET);
  USART_ClearBitState (UART4,USART_FLAG_TC);
}

求一个gd32f103vct6  串口4初始化代码,上面的是我写的,但是发送出来数据不对,是哪里时钟不对还是初始化不对?请指点

使用特权

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

本版积分规则

3

主题

10

帖子

1

粉丝