基于STM32F103C8T6的智能小车硬件设计与GPIO编程入门
创作时间:
作者:
@小白创作中心
基于STM32F103C8T6的智能小车硬件设计与GPIO编程入门
引用
1
来源
1.
https://bbs.21ic.com/icview-3396550-1-1.html
本文将详细介绍基于STM32F103C8T6的智能小车硬件设计和GPIO编程。内容包括原理图、PCB设计、焊接组装以及基本的GPIO和中断处理程序。适合有一定嵌入式开发基础的读者阅读。
硬件部分
元件选型
这里给出元件列表和数量,后面每个元件使用前会给出参数等。
原理图与PCB
底板原理图需要考虑以下几个关键问题:
- 各个模块的供电电压
- 模块接口引脚顺序
- 如何确定使用单片机哪个引脚
STM32F103C8T6核心板原理图(可能使用不同核心板略有差异)
PCB顶层截图,注意不同类型线的粗细和布局总线方式:
焊接
焊接时需要特别注意元件的正确安装顺序:
PCB正面:
PCB背面:
结构与组装
组装好的车体照片:
注意电机和红外对管不要插错。
测试
使用万用表蜂鸣挡测量电源引脚和GND是否短路。
软件部分
新建工程
建议选择和作者一样的版本。新建工程时需要完成以下步骤:
- 选择芯片
- 选择时钟源
- 选择调试方式
- 勾选生成独立的文件
- 设置保存地址
- 选择是否添加未使用库文件
GPIO编程
以点亮PC13连接的小灯为例:
配置PC13:
生成代码后,使用MDK打开工程,在BEGIN和END之间添加代码:
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
烧录程序
有两种方法可以选择:
方法一:使用DAP LINK
接线图和设置步骤略。
方法二:使用stlink
接线图和设置步骤略。
中断处理
以按键检测为例:
先看原理图:
PB4--KEY1 单片机设置下拉输入、下降沿触发
PA12--KEY2 单片机设置上拉输入、下降沿触发
开始配置:
使能外部中断,然后生成代码。
重新实现中断回调函数,编写按键检测程序:
在gpio.c 中我们编写该函数:
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if(GPIO_Pin == KEY1_Pin){//判断一下那个引脚触发中断
//这里编写触发中断后要执行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切换LED GPIO状态
}
if(GPIO_Pin == KEY2_Pin){//判断一下那个引脚触发中断
//这里编写触发中断后要执行的程序
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);//切换LED GPIO状态
}
}
把main中控制闪烁注释掉。
烧录后的现象:
按下KEY1 或者KEY2可以切换LED灯开关状态。
热门推荐
喝水这事儿,很多人都搞错了!这篇饮水指南快收藏
手机号码二次实名认证,你遇到过吗?
天津机动车检验预约流程详解
新生儿体温:正常范围与护理实用贴士
民事起诉状是否需要写法律依据?
Excel中自动引用前一个工作表数据的多种方法
打了狂犬病疫苗后是不是抗体水平降低
空气源热泵"两联供"系统工作原理、选型及设计要点详解
公司破产后,股权如何处理?股东是否需要还债?
理解长三角|想象的共同体:“大黄山”构想如何从概念到IP?
从都江堰到黄山的路程、交通方式及旅行攻略详解
正常人的心率是多少?
全国统一电力市场建设“三步走”,2029年前实现新能源全面参与
缺硒有什么症状和危害?一文读懂硒元素的重要性
缺硒会致病!补硒术后恢复快、预防心血管疾病一把罩
二进制:计算机编程的基础
如何给银行估值?银行企业还值得买吗?
普洱茶什么时候喝最适合减肥?什么时间喝普洱茶减肥效果最好
汤和:明朝开国功臣的荣耀与智慧
生猪消费进入淡季 价格或低位震荡
鼻塞用药指南:五种常见药物的使用说明
导致肥胖的首要因素是什么?如何避免肥胖?
研究发现:肥胖影响亚洲人群的认知功能,增加痴呆风险
浙江适合什么花卉
母亲节丨八首古诗,母爱如春,致敬伟大的母亲
2025年法定节假日一览表 2025年法定节假日共计多少天
秋姿白发生,木叶啼风雨。
本年度诺贝尔奖首个奖项揭晓!两名科学家获奖
青岛派出所办理身份证工作时间及地址
什么是Excel中的VBA?