电子说
这是全网最详细、性价比最高的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等功能先不列举了,大家直接到专栏看把。
这里给出元件列表和数量
后面每个元件使用前会给出参数等。
底板原理图
各个模块的供电电压?
模块接口引脚顺序?
如何确定使用单片机那个引脚?
STM32F103C8T6核心板原理图(可能使用不同核心板略有差异)
PCB顶层截图
不同类型线粗细
布局总线方式
PCB正面
PCB背面
然后插上元件
这是组装好的车体照片
然后小车安装PCB
注意电机和红外对管不要插错
使用万用表蜂鸣挡 测量 电源引脚和GND是否短路
建议选择和我一样的版本
新建一个工程
选择芯片
选择时钟源
选择调试
勾选生成独立的文件
设置保存地址
勾选这个不添加没有使用库文件可以减小工程文件大小(也可以不勾选,保持默认设置)
MDK打开工程,调低优化等级
以上是每次新建工程要做的
以后我们不在新建工程,使用之间的工程即可
这里我们点亮PC13连接的小灯
配置PC13
生成代码
生成代码后,使用MDK打开工程
在BEGIN和END添加代码
HAL_GPIO_TogglePin(LED_GPIO_Port,LED_Pin);
HAL_Delay(500);
根据自己的芯片选择
烧录程序(必看 使用其中一个方法)
接线图
DAP 在Win 10 免驱动的
然后根据自己使用的工具在MDK中设置下载工具
设置下载算法
然后下载程序,复位小灯闪烁
烧录后现象
小灯每0.5秒闪烁一次
接线图
**STlink不要接3.3V **
使用Stlink 前先安装驱动
双击运行
选择ST-Link
选择算法
然后点击编译,烧录
烧录后现象
小灯每0.5秒闪烁一次
如果我们芯片IDCODE是0x2 开头的那么我们需要替换一下Keil 的器件包
(如果你是0x1 开头的,如果能下载可以不替换)
STM32小车相关资料V3.3.0�4使用的软件中科芯CKS芯片支持包
下面这个算法就会自动切换
先看原理图
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灯开关状态
审核编辑 黄宇
全部0条评论
快来发表一下你的评论吧 !