1.新建工程
? ?File->New Project
2.芯片型号选择
?3.选择时钟源
? ? RCC->Crystal/Ceramic Resonator
4.选择烧录方式
? SYS->Serial Wire
5.选择串口通信方式
? ?USART1->Asynchronous
?6.时钟树
?7.输入工程名、选择编译器
?8.生成文件
?9.在usart.c中加入代码(注意:代码要写在BEGIN和END之间)
#include "stdio.h"
//这个变量是其他.c文件定义的
extern UART_HandleTypeDef huart1;
uint8_t ch;
uint8_t ch_r;
//重写这个函数,重定向printf函数到串口,意思就是说printf直接输出到串口,其默认输出到控制台的
/*fputc*/
int fputc(int c, FILE * f)
{
ch=c;
HAL_UART_Transmit(&huart1,&ch,1,1000);//发送串口
return c;
}
//重定向scanf函数到串口 意思就是说接受串口发过来的数据,其默认是接受控制台的数据
/*fgetc*/
int fgetc(FILE * F)
{
HAL_UART_Receive (&huart1,&ch_r,1,0xffff);//接收
return ch_r;
}
?10.在main.c中加入代码(注意:在写printf之前要先在BEGIN Includes和END Includes之间加头文件#include "stdio.h")
?11.烧入代码,结果如下(关于魔术棒设置在学习笔记二中有提到)
|