各位老师好!我使用gd32f103vct6的USART0进行RS232通讯,PB6和PB7引脚需要重映射,使用GD32F103CVEL的例程printf,虽然引脚做了重映射,仍然不能正常发送。代码如下,请各位不吝赐教,谢谢!void usart0_init_set(void)
{
rcu_periph_clock_enable(RCU_AF);
rcu_periph_clock_enable(RCU_GPIOB);
// enable USART clock /
//引脚重映射
//gpio_pin_remap_config(COM_GPIO_REMAP[com_id], ENABLE);
gpio_pin_remap_config(GPIO_USART0_REMAP, ENABLE);
rcu_periph_clock_enable(RCU_USART0);
// connect port to USARTx_Tx /
gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
// connect port to USARTx_Rx
gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_7);
//gpio_pin_remap_config(GPIO_USART0_REMAP, ENABLE);
// USART configure/
usart_deinit(USART0);
usart_baudrate_set(USART0, 9600U);
usart_word_length_set(USART0, USART_WL_8BIT);
usart_stop_bit_set(USART0, USART_STB_1BIT);
usart_parity_config(USART0, USART_PM_NONE);
usart_hardware_flow_rts_config(USART0, USART_RTS_DISABLE);
usart_hardware_flow_cts_config(USART0, USART_CTS_DISABLE);
usart_receive_config(USART0, USART_RECEIVE_ENABLE);
usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);
//nvic_irq_enable(USART0_IRQn, 0, 0);
//使能接收和发送中断
//usart_interrupt_enable(USART0, USART_INT_RBNE);
//usart_interrupt_enable(USART0, USART_INT_TBE);
usart_enable(USART0);
} |