基于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灯开关状态。
热门推荐
域名实名认证填写指南(组织)
拉涨停板的动机和风险是什么?这种动机和风险如何进行权衡和管理?
库尔斯克会战,苏军伤亡是德军的两倍,为何说德国一败涂地?
知识图谱技术体系(二)|图数据库的3点介绍
如何制作YouTube视频
商铺租赁合同签订指南:从条款到盖章全解析
日本留学全攻略:高中生、大学生、研究生的申请指南
环氧树脂胶可以粘哪些材料?
聚焦新《公司法》丨股东知情权诉讼中的要件适用争议之如下主体是否适格?
选调与省考难考分析:选调生稳进分数探讨(以2024年为例)
开源引领创新 让“千行百业用得起”
如何明确项目范围和目标
跨专业学习在未来职业发展中有哪些潜在风险和好处
农村低保户申请公租房的手续及资料要求
深度解析:自动挡朗逸油耗及省油秘籍
四川眉山何以出“三苏”?从地域文化看有6大因素
妊娠糖尿病~健康检查时没被检查出来的饮食【医生监督】
巴黎奥运会开幕式:一场流动的盛宴,藏着哪些文化彩蛋?
有效管理向敏捷的迁移
律师不办事不退钱怎么办
可乐鸡翅完美组合
隐形眼镜不能乱戴!这几点选购和佩戴技巧直接关系到眼睛健康
先行赔付成机制 放心消费在海南
贵州黎平肇兴侗寨旅游攻略:文化体验与自然风光的完美融合
怎样查同型半胱氨酸高
Android手机更新时关机怎么办?简单几步轻松应对
2024年全国高等院校翻译专业师资培训今日开幕
南京医科大学康达学院医学影像技术专业详解:课程设置、招生要求与就业前景
厨房小白也能轻松掌握的糖醋菜秘籍
华闻集团2.74亿债券违约,刚刚被法院预重整