一直想自己写一篇文章作为stm32系列的笔记吧
从配置工程到硬件接线到代码编写 让学弟学妹上实验起飞
使用stm32最小系统板
hal库开发
配置最初cubemax工程
第一步打开cube max 新建一个工程
选择芯片型号 stm32 f103c8t6 第一个
设置时钟
debug选择 serial wire
勾选生成独立c h 文件
保存工程 配置ide 选择MDK-ARM
点亮一颗led灯
硬件接线
我们选择PA7 连接一个led灯
cubemax配置
设置PA7 引脚为output输出模式
选择high 推挽输出 命名为led
生成代码
代码
在begin 和 end 中间写
HAL_GPIO_TogglePin(led_GPIO_Port,led_Pin);
HAL_Delay(1000);
按键控制led小灯
硬件接线
PB4–KEY1 单片机设置下拉输入
PA12–KEY2 单片机设置上拉输入 stm32芯片内部也配置好上拉下拉电阻 将
cubemax配置
PB4设置下拉模式 按下为高电平
代码
按键按下 小灯亮 按键松开 小灯灭
if(HAL_GPIO_ReadPin(KEY_1_GPIO_Port,KEY_1_Pin) == GPIO_PIN_SET)
{
HAL_GPIO_WritePin(led_GPIO_Port,led_Pin,GPIO_PIN_SET);
}
else
{
HAL_GPIO_WritePin(led_GPIO_Port,led_Pin,GPIO_PIN_RESET);
}
GPIO八大模式
推挽输出 writepin函数高电平
具有一定的电压与电流驱动能力
开漏模式 只有N-MOS工作 P-MOS一直断开
浮空输入 既不上拉 也不下拉
上拉输入 上拉电阻启用 将引脚电平拉高
下拉输入 下拉电阻启用
TTL肖特基触发器 稳定电平