功能介绍放开头, 使用便捷无需愁。
这是全网最详细、性价比最高的STM32实战项目入门教程,通过合理的硬件设计和详细的视频笔记介绍,硬件使用STM32F103主控资料多方便学习,通过3万字笔记、12多个小时视频、20多章节代码手把手教会你如何开发和调试。让你更快掌握嵌入式系统开发。
V1.5.0-STM32智能小车
V1.5.0:库函数开发。功能:循迹、避障、跟随、遥控、电池电压显示等。
视频合集链接推荐观看
[https://www.bilibili.com/video/BV1SY411L7rJ/?spm_id_from=333.337.search-card.all.click]
**V3.3.0-STM32智能小车 **
V3:HAL库开发、功能:PID速度控制、PID循迹、PID跟随、遥控、避障、PID角度控制、视觉控制、电磁循迹、RTOS等功能。
视频合集链接推荐观看
[https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click]
开头先放几张按照文章学习后的小车照片
然后这个是视频如果觉得看文章不够通俗易懂可以去看视频
[video(video-pkjruY94-1723013335807)(type-bilibili)(url-https://player.bilibili.com/player.html?aid=253997024)(image-(image-)https://img-blog.csdnimg.cn/img_convert/30a39d79ac7bcb23aa942a4f93bb604c.png)(title-(title-)stm32入门教程STM32智能小车V1.5-stm32f103c8t6-stm32最小系统-手把手入门教程-嵌入式开发-嵌入式学习)]好的下面我们开始从硬件->调试焊接-> 软件编写->调试 一步一步的开始我们的项目。
[硬件]元件选型 PCB绘制 焊接 组装等
元件选型
- 根据这个清单购买元件,在tb 购买元件,
-
**
**
原理图绘制
要结合购买的元件模块设计原理图
比如
查看数据手册与参考手册确定引脚功能 设计PCB
PCB布局与走线
电源线走线粗一点
可以把电源线走在底层,信号线在顶层
根据元件特点布局
核心板的排母间距要注意!!!
比如:这种元件就要放到PCB边上
下单PCB打样
检查DRC没有问题就可以打样了
嘉立创打样 就可以,参数默认 板子尺寸10*10
焊接PCB
焊接比较简单
具体的焊接过程教程,再开头的视频合集里面
安装组装
安装比较简单
如果大家有问题,留言我抽空补上视频。
[软件]编程开发中如何获得资料
提示下面的资料也可以通过我提供tb下载到全部链接:
模块资料
我们通过淘宝获得
STM32F103C8T6最小系统板模块
通过淘宝下载同一型号资料即可
其他模块资料
可以通过淘宝简介得到
STM32外设驱动资料
我们通过正点原子下载
小车原理图
通过EDA软件导出
程序移植-STM32F103ZET6移植到
STM32F103C8T6
第一步
打开魔术棒,点击Device,更改芯片类型为C8T6
第二步
点击Target,晶振频率改为8Mhz
第三步
点击C/C++,将define中的STM32F10X_HD,USE_STDPERIPH_DRIVER改成
STM32F10X_MD,USE_STDPERIPH_DRIVER
STM32F10X_MD,USE_STDPERIPH_DRIVER
第四步
点击Utilities,点开settings,在Flash Download栏下,将STM32F103ZET6中512k的移除,并改为
128k,
第五步
将该工程文件中CORE中的startup_stm32f10xhd.s文件换为startup_stm32f10xmd.s文件
-
删除原来的:startup_stm32f10x_hd.s
-
将startup_stm32f10x_md.s复制到工程文件
-
工程中添加startup_stm32f10x_md.s
第六步
编译一下
那么我们就完成了把ZET6的工程移植成为C8T6的工作,下面让我们点灯测试一下啊.
使用STlink烧录 时候出现:
方法:
然后我们点一个小灯测试一下
GPIO输出实验点亮C8T6板载小灯
第一步
查阅原理图,小灯接在PC13上下面驱动PC13
思考题:如果同时驱动PC13与PC14,应该如何编写?(答案:应该增加下图代码)
** LED_Init()函数的代码**
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PB,PC端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //PC13
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure); //根据设定参数初始化
GPIOC.13
GPIO_SetBits(GPIOC,GPIO_Pin_13); //PC.13输出高
}
LED.h 部分宏定义
#define LED PCout(13)// PC13
第二步
编译下载(如果没有运行,需要按复位 运行)
以上我们就完成基本测试,下面让我们学习一下,如何从零设计小车!!!<( ̄︶ ̄)↗[GO!]
审核编辑 黄宇