搭建stm32电机控制代码框架(一)

news2025/1/12 23:07:16

也是挑战一下自己吧,看看多久能够把自己的代码框架搭建起来,今天是5月23日,看看最终搭建成功的时候是什么时候,目标其实这个阶段很简单,电机转一个双闭环FOC就行。

这次的任务是基于stm32f405芯片进行展开,应用的软件是keil5和STM32CubeMx,这两个软件环境目前是已经安装好了,现在就可以开始展开工作了,这系列博客零散的记录任务完成的过程,作为一个笔记方便后续回顾。

任务(一):用CubeMx控制一个引脚的高低电平

第一步:在CubeMx中导入stm32f405芯片,进入如下界面,

 进入该界面后,查询板子的某一个GPIO输出,用一下板子的DAC接口,对应PA4接口。

 在CubeMx界面电机PA4端口得到如下所示选项,选择GPIO_Output即可。GPIO_Output模式即为选择当前引脚为GPIO功能,并且引脚方向选择为输出。

第二步:此时仅仅只是配置了GPIO的输出模式, 还有系统的晶振引脚还未配置。如下图所示,依据原理图配置PH0/PD0为晶振输入OSC_IN,配置PH1/PD1为晶振输出OSC_OUT。

 配置完晶振的引脚后,需要在选择晶振的类型,由于板子上用的是外部晶振,而CubeMx的晶振选择为3种:
Disable 这个是不用外部晶振
Crystal/Ceramic Resontor 这个是用无源外部晶振
BYPASS Clock Source 这个是有源外部晶振

 

 由于板子上用的是如下图结构,属于无源外部晶振,因此需要先择Crystal/Ceramic Resontor

 第三步:配置程序下载接口。由于我的板子用的是JTAG,因此将其配置为Serial Wire模式,具体的差异如下链接阐述。使用CubeMX生成工程时Debug模式为No Debug与Serial Wire的代码差异_遅刻的博客-CSDN博客

 第四步:时钟分频的配置。这一步需要根据不同的外部输入晶振选择输入时钟的频率,由于我的板子是8MHz的,所以如下图所示1处选择配置为8MHz。后面的234部分均按照已有示例的配置写的,这里留个坑,时钟的分配是相当重要的部分,234部分后续单独章节搞懂。

  第五步:项目的配置

首先是命名项目名称,然后是文件夹分配,然后是比较关键的,IDE部分一定要选择MDK-ARM,这是选择编译器类型的。

 然后是Code Generator里面的配置,一定要勾选所有的配置都生成.c和.h文件。

 第六步:选择PA4引脚输出电平的高低,如下图所示,选择输出电平为高,并且配置GPIO的模式为输出推挽,都按照默认选择即可。

 第七步:电机GENERATE CODE 下载进入板子,测试引脚电平。输出电平为3.3V,测试结果有效。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/560853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32单片机(一)STM32简介

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 :适用于想要…

国产FPGA选型指南:如何选择适合你的国产FPGA芯片?

FPGA自1985年由Xilinx的创始人之一Ross Freeman发明后,全球90%的FPGA市场一直被国外厂家所占有,主要是这四家公司:Xilinx、Altera、Lattice、Microsemi。 Xilinx 和Altera公司占据了全球近80%以上的市场份额,且拥有着FPGA领域绝大…

Java学习笔记20——内部类

内部类 内部类的访问特点内部类的形式成员内部类局部内部类匿名内部类匿名内部类在开发中使用 内部类是类中的类 内部类的访问特点 1.内部类可以直接访问外部类的成员,包括私有成员 2.外部要访问内部类的成员,必须创建对象 内部类的形式 成员内部类 …

java变量类型

文章目录 一、java变量类型一.java变量类型二、Java 参数变量三、Java 局部变量四、成员变量(实例变量)五、类变量(静态变量) 总结 一、java变量类型 一.java变量类型 在Java语言中,所有的变量在使用前必须声明。声明…

13. InnoDB引擎底层原理及Mysql 8.0 新增特性详解

MySQL性能调优 查看系统中的各种LSN值 本文是按照自己的理解进行笔记总结,如有不正确的地方,还望大佬多多指点纠正,勿喷。 01.redo日志的作用和格式 02.redo日志的写入过程 03.什么是Log Sequence Number? 04.innodb_flush_log_at_trx _c…

(学习日记)AD学习 #3

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

二叉树的学习

最近在复习数据结构和线性代数,先准备周六的线代考试,好好复习。 目录 树的概念 结点: 空树: 子树: 结点的度: 树的度: 层数: 结点的深度: 结点的高度&#xff…

matplotlib运用:电商广告投入及销量预测【数据集+完整代码】

前期准备 数据准备 数据集有两个表 销售数据表投放费用的广告费用表 文章源码获取方式 👉👉 点击文末名片 1. 分别按 日 和 月 分析销售收入 绘制子图 figure(numNone, figsizeNone, dpiNone, facecolorNone, edgecolorNone,frameonTrue)num:图像…

23岁大专零基础学网络安全能找到工作吗?

当然好找工作,如今在21世纪的信息时代,我们的生活与互联网越来越不可分割。但与此同时,信息安全事件也不时发生,网络安全越来越受到关注。譬如,近期360集团公布黑客帝国对我国进行长达10年的网络攻击;北京健…

MySQL调优方式

1. 选择合适的存储引擎: InnoDB 除非你的数据表使用来做只读或者全文检索 (相信现在提到全文检索,没人会用 MYSQL 了),你应该默认选择 InnoDB 。 你自己在测试的时候可能会发现 MyISAM 比 InnoDB 速度快,这是因为: MyISAM 只缓存索…

三、DRF关联表的序列化(通过主表,查询从表数据)

官方文档: Serializers - Django REST framework中文站点 上一章: 二、Django REST Framework (DRF)序列化&反序列化_做测试的喵酱的博客-CSDN博客 一、前提 models.py class MiaoClass(models.Model):id models.AutoField(primary_keyTrue, v…

Springboot +spring security,实现前后端分离,使用JSON数据格式登录(将表单提交方式改成json格式登录)

一.简介 在前面的文章中,我们使用表单方式完成登录提交,但是目前基本都是前后端分离项目,很少使用表单提交的方式,基本都是json方式,使用ajax提交,那么我们怎么将表单提交方式改成json格式登录呢&#xff…

语雀批量导出 mardown 文档(不需要 token)

推荐一个小工具:renyunkang/yuque-exporter ,可以不借助语雀超级会员的 token 实现批量导出 markdown 文档。我的语雀知识库又可以实现免费迁移了,点个小星星支持一下。 说明: 这是一个基于puppeteer 来模拟用户在浏览器的操作…

基于深度强化学习的目标驱动型视觉导航泛化模型

深度强化学习在目标驱动型视觉导航的泛化 参考论文《Towards Generalization in Target-Driven Visual Navigation by Using Deep Reinforcement Learning》 文章目录 深度强化学习在目标驱动型视觉导航的泛化1. 目标驱动型视觉导航问题2. 创新点和解决的问题2.1 创新点2.2 解…

随身WIFI折腾日记(四)---拓展USB接口读取U盘内容

五、USB行为控制 随身WIFI对外交互的接口只有WIFI和USB接口。如果要想接入其他硬件设备,拓展USB接口至关重要,对于USB接口的控制,参考如下链接: openstick项目官方教程:控制usb行为 HandsomeMod/gc: A Simple Tool To Control Usb Gadget …

Opencv C++图像处理:点多边形测试 + 矩 + 凸包 + 映射 + 反向投影

文章目录 1、点多边形测试1.1、计算像素点是在轮廓内部、外部或边界上:cv::pointPolygonTest()1.2、计算最小值和最大值及其位置:cv::minMaxLoc()1.3、实战案例 2、矩2.1、计算多边形或光栅化形状的三阶以下的所有力矩:cv::moments()2.2、计算…

Regularization

在图像中的特征处理: 平均亮度的去除 SVD Whiten PCA 参数初始化策略 数据归一化: 标准归一化缩放归一化PCA/SVD 数据归一化对梯度的影响 归一化后,可以更快的搜索到最优值点 正则化 数据增强与早停 图像数据的增强主要是通过算法…

测试新手如何去学习接口自动化测试 ?从这一套测试框架开始 。

接口自动化测试框架系列之整体介绍 1.接口自动化测试1.自动化框架概述2.搭建自动化测试框架3.测试框架中所使用到的技术 1.接口自动化测试 自动化测试虽然是测试中比较热的一门技术 ,但凡一个测试岗位,你几乎都能看到有自动化测试的要求 。但不得不说&a…

关于深度学习方面的一些概念

1、自学习(self-taught learning)与半监督学习   自学习(self-taughtlearning)是不要求未标注数据 X u X_u Xu​和已标注数据 X l X_l Xl​来自同样的分布。另外一种带限制性的方式也被称为半监督学习,它要求 X u X_u Xu​和 X l X_l Xl​服…

[快速入门前端17] CSS 选择器(6) 选择器总结

基本选择器 选择器说明语法通配符作用范围为所有标签,用于页面整体样式* { color: red }元素作用于同种标签,不能进行差异化样式设定p { color: red }类别作用于我们自行设定的类别,是使用频率最高的选择器.myClass { color: red }ID选取当前…