STM32F407学习笔记(1)基于hal库,CubeMX以及keil5的基本使用。
前言:自己是大二的一名通信工程专业的小菜鸡,在实验室培训了四次之后,我们目前使用是stm32f407zgt6这块单片机。在为明年的电赛国赛准备着。实验室目前使用的工具是cubemax和keil这两款软件,使用起来较为方便。那么让我们来看看吧。
目录
一、STM32简介
二、CubeMX的基本介绍
三、cube的基本配置:
RCC配置:
调试模式设置:
时钟树配置:
最后就是文件的配置:
四、keil5的使用(基于hal库)
一、STM32简介
从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专业计算机系统。
-是“看不见的计算机”,软件和硬件综合体。
我们所使用的这块板子属于嵌入式微控制器:
下面是stm32的命名规则:
下面介绍一下是stm32的开发板资源:
当我们拿到一块板子就要看芯片引脚对应的作用,这块f4有144个引脚,下面为芯片的引脚图。
更多资料可以前往st官网自寻查找STMCU中文官网。
二、CubeMX的基本介绍
它允许用户通过它生成C语言项目(HAL库),包含MCU自带的各种外设初始化程序。
也就是你通过cubemx配置的内容,它会帮助你自动生成代码。
下面是cubemx的主页面。
我们首先选择新建mcu项目。
对于我们经常使用的芯片我们可以点击芯片左边的五角星进行收藏,以便下一次使用的更加的方便,这里我们还是选择stm32f407zgt6,下面这个才是cube的核心
三、cube的基本配置:
RCC配置:
Reset and clock control (RCC)
时钟配置,控制提供给各模块时钟信号的通断
旁路模式:无外部晶体起振和功率驱动等的部分电路(不能提供电源),一般用不到。
晶振模式:(有供电给外部晶振)
这里我们看到芯片上的四个引脚就被占用了,RCC需要占用引脚,上方两个为低速时钟,下方两个为高速时钟。
上方那个就为芯片的晶振
晶振
所谓“晶振”,即“石英晶体”,即“晶振”,它是一种由石英晶体的压电作用引起的高频率振动的电 子器件,是一种被动器件。(可以理解为一种计时器件)
晶振的主要内容
晶振频率的变化使得电路工作在一个稳定的频率范围内,这是对集成电路的起振装置,而晶体 振荡则是步调基准,稳定频率,选择频率。几乎任何行业、技术、汽车、数字、电子等行业, 都能使用到它。
调试模式设置:
注意: 这被配置的两个引脚不能作为GPIO,否则在调试中会出现问题。
因此建议预先设置好防止之后出现问题。
时钟树配置:
时钟的理解:
在内核中,一个时钟便能实现一次加法运算。
时钟决定着运转的速度
认识时钟树
时钟树配置
最后就是文件的配置:
按这样配就完事了
最后就可以点击右上角的生成code了
四、keil5的使用(基于hal库)
keil5使用的语言是c语言,所以对于那些c语言没学好的同学们要注意了。当然现在还来得急,
这是一个非常有用的方法,可以查看函数的形参所代表的含义,对于我编写代码有很大的帮助。
注意:
1、我们写代码同样要有一个好的习惯,我们可以将功能分模块些,将函数包装在main函数之外,然后最这个函数进行调用。
2、我们在设置参数时,尽量不要用a,b,n这种,我们可以选择英文加下划线的形式。
3、注释十分的重要,到后面代码一多,不仅别人看不懂,连你自己都看不懂了。
这期就讲到这里,大部分内容都是按照学长们所给的ppt来讲的,下期再讲按键和gpio吧(下次什么时候更新就不知道了dogo),还是想将自己所学的知识记录在这,另一个方面,可以将知识分享给有需要的人。有不足的地方希望大家可以补充,有错误的地方,大家也可以向我提出,学习求教。第一次些博客,还有很多不熟悉,望谅解。
STM32F407学习笔记(1)基于hal库,CubeMX以及keil5的基本使用。相关推荐
- 学习笔记四.基于HAL库的stm32f103硬件读写EEPROM(CUBEMX)
基于cubemx的stm32f103硬件读写EEPROM 今天介绍一种可擦除存储器. EEPROM (Electrically Erasable Programmable read only memo ...
- STM32CUBEMX入门学习笔记3:HAL库以及STM32CUBE相关资料
STM32CUBEMX入门学习笔记3:HAL库以及STM32CUBE相关资料 微雪课堂:http://www.waveshare.net/study/article-629-1.html 之前的正点原 ...
- STM32学习笔记-SMT32使用HAL库UART中断方式使用
目录 1.引言 2.配置 3.流程 1.引言 近来需要使用蓝牙模块,再了解到蓝牙模块等无线模块许多使用串口透传,便决定在研究一下串口UART 的使用方法. 由于用的板子种类每次都不一样,有F103 有 ...
- [笔记]STM32基于HAL库的SDIO+FATFS文件系统
1.背景 要用到Bootloader升级,APP部分要写运行日志.所以在Bootloader部分的FATFS要做裁剪,裁剪到只剩只读的操作就可以了,而APP端做可读可写. 2.开发板 用的是野火的ST ...
- 基于HAL库创建Keil工程模板
[百问网]物联网学习笔记 Keil创建HAL库工程模板步骤: 1. 创建相关文件夹: 2. 复制CMSIS和HAL库; 3. 创建"main.c/h"和"stm32f1x ...
- STM32F407霸天虎HAL库CubeMX学习笔记——DS18B20
STM32F407霸天虎HAL库CubeMX学习笔记--DS18B20 一.软件准备 二.硬件准备 三.CubeMX配置 四.Keil printf重写 tim.c DS18B20.h DS18B20 ...
- STM32软件学习笔记(一)基于HAL库的STM32F429单片机串口打印程序
|版权声明:本文为博主原创文章,转载请注明出处.https://blog.csdn.net/NeverImagine_/article/details/95517664 目前ST官方有提供两种库文 ...
- STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数
STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数 一.步进电机闭环驱动器 二.CubeMx配置 1.Clock Configuration 2.脉冲端 定时器配置 3. ...
- STM32机器人控制开发教程No.3 使用遥控控制电机/舵机(基于HAL库)
01 前言 本教程使用的机器人控制板拥有4个带编码器的电机接口,4个舵机接口,串口通信接口.SWD下载调试接口.航模遥控接口.USB5V输出接口以及方便与树莓派直接连接的40PIN接口等,板载资源丰富 ...
最新文章
- mybatis-plus入坑指南
- java如何获得点的横纵坐标_横纵坐标怎么区分
- AOE网(求关键路径)(c/c++)
- [转]C# WinForm 关于窗体最大化时的是否全屏效果与是否遮盖任务栏
- CSS设置图片的对齐
- 新概念0817:终身学习
- Azure手把手系列6:存储服务介绍
- 分别用matlab和python计算物品相似度矩阵(Jaccard系数
- CloudCC CRM:物联网必将成为CRM的推动力
- 使用java的io流编写日志类
- JavaScript if(x),==和===解析(翻译整理)
- 常见的文件格式有哪些
- 互联网公司吹牛逼指南
- python读取rtf文件_在python中将unicode文本输出到RTF文件
- 企业网站建设要注意的四大准则
- 地图学类毕业论文文献包含哪些?
- ios王者荣耀服务器维护31号,王者荣耀3月31日IOS无法更新什么情况?王者荣耀ios更新特别慢解决方法...
- c语言实现循环结构的语句有哪些?它们的区别是什么?,2011年04月份计算机软件基础(一)复习资料二...
- 如何给PDF中的内容添加下划线
- 博弈论一 [ 巴什博奕 ]