1.选择中断引脚,因为F407芯片的PE2、PE3、PE4控制三个按键所以选这三个引脚(其他的RCC、SYS、USART、时钟树配置请查看笔记1/笔记2)
2.配置引脚
3.设置中断优先级
4.配置时钟树、编写工程名、选择编译器、生成代码
5.点开_it.c可以看到根据我们的配置生成了中断服务函数
点击HAL_GPIO_EXTI_IRQHandler();,go to可以看到
5.在usart.c中printf重定向
#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; }
6.在main.c中编写程序(在前面加头文件)
7.结果,串口助手调试过程在笔记2