一.GPIO
1.LED
需要压降才会亮,所以GPIO配置为output ,高电平关,低电平开
2.KEY
按下和松开是不一样的,所以GPIO配置为input 给一个上拉电阻,送开时是高电平,按下是低电平
通过中断控制按键,可以不用消抖,一般是下降沿触发,在主函数之后写下中断
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)// 按键中断
{
if(KEY0_Pin==GPIO_Pin)
{
}
else if(KEY2_Pin==GPIO_Pin)
{
}
}
注意:按键中断要设置中断优先级,最好是1或者2,Delay函数优先级是0
二.串口
1.发送数据,需要对printf函数进行重定向
重定向函数
int fputc(int ch, FILE *f)
{
HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
return ch;
}
int fgetc(FILE *f)
{
uint8_t ch = 0;
HAL_UART_Receive(&huart1, &ch, 1, 0xffff);
return ch;
}
注意要引用头文件
#include "stdio.h&#