第一篇-STM32智能小车硬件介绍
这是全网最详细、性价比最高的STM32实战项目入门教程,通过合理的硬件设计和详细的视频笔记介绍,硬件使用STM32F103主控资料多方便学习,通过3万字笔记、12多个小时视频、20多章节代码手把手教会你如何开发和调试。让你更快掌握嵌入式系统开发。
V3.3.0-STM32智能小车
视频:
https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click
V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制、视觉控制、电磁循迹、RTOS等功能。
后面还有视觉、RTOS等功能先不列举了,大家直接到专栏看把。
1.1-元件选型
这里给出元件列表和数量
后面每个元件使用前会给出参数等。
1.2-原理图与PCB
底板原理图
各个模块的供电电压?
模块接口引脚顺序?
如何确定使用单片机那个引脚?
STM32F103C8T6核心板原理图(可能使用不同核心板略有差异)
PCB顶层截图
不同类型线粗细
布局总线方式
1.3-焊接
PCB正面
PCB背面
然后插上元件
1.4-结构与组装
这是组装好的车体照片
然后小车安装PCB
1.5-测试
第二章-GPIO与中断
2.0-新建工程
建议选择和我一样的版本
新建一个工程
选择芯片
选择时钟源
选择调试
勾选生成独立的文件
设置保存地址
勾选这个不添加没有使用库文件可以减小工程文件大小(也可以不勾选,保持默认设置)
MDK打开工程,调低优化等级
以上是每次新建工程要做的
以后我们不在新建工程,使用之间的工程即可
2.1-点灯
这里我们点亮PC13连接的小灯
配置PC13
生成代码
生成代码后,使用MDK打开工程
在BEGIN和END添加代码
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
根据自己的芯片选择
烧录程序(必看 使用其中一个方法)
方法一:使用DAP LINK
接线图
DAP 在Win 10 免驱动的
然后根据自己使用的工具在MDK中设置下载工具
设置下载算法
然后下载程序,复位小灯闪烁
烧录后现象
小灯每0.5秒闪烁一次
方法二:使用stlink
接线图
**STlink不要接3.3V **
使用Stlink 前先安装驱动
双击运行
选择ST-Link
选择算法
然后点击编译,烧录
烧录后现象
小灯每0.5秒闪烁一次
补充可能遇到的失败情况
使用DAP-LINK
如果我们芯片IDCODE是0x2 开头的那么我们需要替换一下Keil 的器件包
(如果你是0x1 开头的,如果能下载可以不替换)
STM32小车相关资料V3.3.0�4使用的软件中科芯CKS芯片支持包
下面这个算法就会自动切换
使用stlink
2.2-按键
先看原理图
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灯开关状态
审核编辑 黄宇
-
STM32
+关注
关注
2264文章
10852浏览量
354180 -
PID
+关注
关注
35文章
1467浏览量
85159 -
智能小车
+关注
关注
86文章
548浏览量
81600 -
循迹
+关注
关注
0文章
14浏览量
12996
发布评论请先 登录
相关推荐
评论