基于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灯开关状态。
热门推荐
虾米要怎样挑选
发热护理指南:从症状识别到全面护理方案
处理密件勿随意,这些“方便之门”开不得!
楚霸王项羽:乌江自刎的悲壮抉择
金额百分比的计算方法及其在保险领域的应用
辟谣|杨桃不宜多吃
消化酶胶囊的功效与使用注意事项
如何提升C语言技能
金针菇煮多久能熟 凉拌金针菇是冷水煮还是热水烫
学生党选购笔记本电脑应该注意哪些方面?
从唱腔到动作,让你零距离体验国粹之美
如何在投资中运用KDJ指标进行分析?这种分析方法的局限性是什么?
白细胞太多是什么原因引起的
怎样在银行申请提高银行卡的信用额度?
胳肢窝出汗且有异味颜色偏黑该如何处理
重阳节诗句古诗大全:千年文化中的诗意传承
实迷途其未远觉今是而昨非翻译
大模型时代来临,GPGPU vs NPU架构路线对比
信用卡银行起诉流程与法律依据解析
农业信用卡逾期怎么办?本金、罚息和费用全解析
血糖高的能吃胡萝卜吗
40尺的柜子能装多少立方 揭秘空间利用最大化技巧
关于十二生肖排序的由来
探秘中华文化:十二生肖的排列顺序与独特象征
天宝农技:重茬土壤改良调理实战措施分析!
劳动合同到期终止操作指南:经济补偿金与通知期的合规要点解析
房颤怎么预防
口渴尿多是怎么回事?医生为您详细解析
C++防止头文件被重复引入的3种方法
术后康复计划,个性化的重要性与制定方法