为了让后面的测试更加舒畅,先实现一下串口打印功能,串口打印的重点就是串口功能的实现,厂商也是比较注重这一点了,对于每一个工程都是有一个通过Jlink接口的串口打印功能,不过我连接在Wch-link上并没有实现,那么我们就用本身个串口type口实现,
先看一下硬件连接:
这里使用的是PA9和PA10,使用CH340作为一个USB转串口的媒介:
居然和调试口串口打印用的是一个串口(UART1),那么咱们改一下应该就能实现了:
void PLATFORM_InitConsole(uint32_t Baudrate)
{
GPIO_InitTypeDef GPIO_InitStruct;
UART_InitTypeDef UART_InitStruct;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_UART1, ENABLE);
UART_StructInit(&UART_InitStruct);
UART_InitStruct.BaudRate = Baudrate;
UART_InitStruct.WordLength = UART_WordLength_8b;
UART_InitStruct.StopBits = UART_StopBits_1;
UART_InitStruct.Parity = UART_Parity_No;
UART_InitStruct.HWFlowControl = UART_HWFlowControl_None;
UART_InitStruct.Mode = UART_Mode_Tx;
UART_Init(UART1, &UART_InitStruct);
UART_Cmd(UART1, ENABLE);
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_7);
GPIO_StructInit(&GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_9;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_High;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStruct);
}
直接修改PLATFORM_InitConsole对应的引脚就实现了串口上报的通道的转移。
注意引脚复用功能的选择:
开机可以看到基础信息的输出:
|