GD32F305 串口的重映射

工作中使用需要USART2 重映射到PC10 和PC11 上;

1.根据手册查只能部分映射

 2.程序中采用部分映射

3.附上串口初始化程序;

 

void USART2_init(void)
{
    /*USART2_Ramp 
    78->Usart2_Tx->PC10 
    79->Usart2_Rx->PC11     initialize*/
    
    rcu_periph_clock_enable(RCU_AF);
    rcu_periph_clock_enable(RCU_GPIOC);    
    /* enable USART clock */
    rcu_periph_clock_enable(RCU_USART2);
    gpio_pin_remap_config(GPIO_USART2_PARTIAL_REMAP, ENABLE);
    /* connect port to USARTx_Tx */
  gpio_init(GPIOC, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10);
    /* connect port to USARTx_Rx */
  gpio_init(GPIOC, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_11);
    /* USART configure */
  usart_deinit(USART2);
  usart_baudrate_set(USART2, 115200U);
  usart_receive_config(USART2, USART_RECEIVE_ENABLE);
  usart_transmit_config(USART2, USART_TRANSMIT_ENABLE);
  usart_enable(USART2);
}
int fputc(int ch, FILE *f)
{
    usart_data_transmit(USART2, (uint8_t)ch);
    while(RESET == usart_flag_get(USART2, USART_FLAG_TBE));
    return ch;
}

    while(1)
    {
        printf("a usart transmit test example! \r\n");  //Test
        delay_1ms(500);        
    }

经过测试打印功能正常

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值