串口的Printf打印
1.STM32CubeMx配置:
2.生成代码后,usart.c里增加代码
/* USER CODE BEGIN 1 */
int fputc(int ch, FILE *f)
{
while (__HAL_UART_GET_FLAG(&huart1, UART_FLAG_TC) == RESET)
{}
HAL_UART_Transmit(&huart1, (uint8_t*) &ch,1,0xFF);
return ch;
}
/* USER CODE END 1 */
3.主函数main.c里可以测试打印
/* USER CODE BEGIN 2 */
__HAL_UART_CLEAR_FLAG(&huart1,UART_FLAG_TC);
printf("start\r\n");
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
ChipID[0] = *(__IO uint32_t *)(0X1FFF7A10); // 高字节
ChipID[1] = *(__IO uint32_t *)(0X1FFF7A14); //
ChipID[2] = *(__IO uint32_t *)(0X1FFF7A18); // 低字节
printf("\r\n chip ID:%x-%x-%x\r\n",ChipID[0],ChipID[1],ChipID[2]);
printf("\r\n flash capacity is:%dk\r\n",*(__IO uint16_t *)(0x1FFF7A22));
备注:这里打印了芯片ID和存储容量。地址参见
该图片摘抄于:https://blog.csdn.net/foxclever/article/details/80294516