1.配置USART1
1点击USATR1
2设置MODE为异步通信(Asynchronous)
3基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit。奇偶检验无,停止位1 接收和发送都使能
4GPIO引脚设置 USART1_RX/USART_TX
5 NVIC Settings 一栏使能接收中断
————————————————
以上引用了CSDN博主「Z小旋」的原创文章
2.生成工程,重定义printf函数。
#include <stdio.h>
extern UART_HandleTypeDef huart1; //声明串口
/**
* 函数功能: 重定向c库函数printf到DEBUG_USARTx
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
/**
* 函数功能: 重定向c库函数getchar,scanf到DEBUG_USARTx
* 输入参数: 无
* 返 回 值: 无
* 说 明:无
*/
int fgetc(FILE *f)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1, &ch, 1, 0xffff);
return ch;
}
3.在Keil魔术棒里勾选 Target -> Usb Micro LIB(很重要,这浪费了我3个小时时间)
4.在主函数里可以使用printf函数输出了。