Ch32V305 USART1 重映射

手册上有表明 USART引脚,这里选择PB15 为 TX, PA8 为 RX。

根据【参考1】给出的方法,编写代码:

void setup() {
  GPIO_InitTypeDef GPIO_InitStructure={0};
  
  Serial.begin(115200);

  //打开重映射时钟和USART重映射后的I/O口引脚时钟,
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);

  //2. I/O口重映射开启.

  GPIO_PinRemapConfig(GPIO_Remap_USART1_HighBit, ENABLE);

  //3.配制重映射引脚, 这里只需配置重映射后的I/O,原来的不需要去配置.

  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_Init(GPIOB, &GPIO_InitStructure);


  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void loop() {
  char sMsg1[] = "www.lab-z.com1";
  Serial.println(sMsg1);
  delay(1000);
}

USB 转串口的板子 RX 连接到 PB15上,在PC端即可收到字符串。

参考:

1. https://www.cnblogs.com/jeakon/archive/2012/10/04/2816798.html