前言:自己是大二的一名通信工程专业的小菜鸡,在实验室培训了四次之后,我们目前使用是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的基本使用。相关推荐

  1. 学习笔记四.基于HAL库的stm32f103硬件读写EEPROM(CUBEMX)

    基于cubemx的stm32f103硬件读写EEPROM 今天介绍一种可擦除存储器. EEPROM (Electrically Erasable Programmable read only memo ...

  2. STM32CUBEMX入门学习笔记3:HAL库以及STM32CUBE相关资料

    STM32CUBEMX入门学习笔记3:HAL库以及STM32CUBE相关资料 微雪课堂:http://www.waveshare.net/study/article-629-1.html 之前的正点原 ...

  3. STM32学习笔记-SMT32使用HAL库UART中断方式使用

    目录 1.引言 2.配置 3.流程 1.引言 近来需要使用蓝牙模块,再了解到蓝牙模块等无线模块许多使用串口透传,便决定在研究一下串口UART 的使用方法. 由于用的板子种类每次都不一样,有F103 有 ...

  4. [笔记]STM32基于HAL库的SDIO+FATFS文件系统

    1.背景 要用到Bootloader升级,APP部分要写运行日志.所以在Bootloader部分的FATFS要做裁剪,裁剪到只剩只读的操作就可以了,而APP端做可读可写. 2.开发板 用的是野火的ST ...

  5. 基于HAL库创建Keil工程模板

    [百问网]物联网学习笔记 Keil创建HAL库工程模板步骤: 1. 创建相关文件夹: 2. 复制CMSIS和HAL库; 3. 创建"main.c/h"和"stm32f1x ...

  6. STM32F407霸天虎HAL库CubeMX学习笔记——DS18B20

    STM32F407霸天虎HAL库CubeMX学习笔记--DS18B20 一.软件准备 二.硬件准备 三.CubeMX配置 四.Keil printf重写 tim.c DS18B20.h DS18B20 ...

  7. STM32软件学习笔记(一)基于HAL库的STM32F429单片机串口打印程序

    |版权声明:本文为博主原创文章,转载请注明出处.https://blog.csdn.net/NeverImagine_/article/details/95517664   目前ST官方有提供两种库文 ...

  8. STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数

    STM32控制步进电机:基于HAL库定时器中断的闭环步进电机驱动+精准控制脉冲数 一.步进电机闭环驱动器 二.CubeMx配置 1.Clock Configuration 2.脉冲端 定时器配置 3. ...

  9. STM32机器人控制开发教程No.3 使用遥控控制电机/舵机(基于HAL库)

    01 前言 本教程使用的机器人控制板拥有4个带编码器的电机接口,4个舵机接口,串口通信接口.SWD下载调试接口.航模遥控接口.USB5V输出接口以及方便与树莓派直接连接的40PIN接口等,板载资源丰富 ...

最新文章

  1. mybatis-plus入坑指南
  2. java如何获得点的横纵坐标_横纵坐标怎么区分
  3. AOE网(求关键路径)(c/c++)
  4. [转]C# WinForm 关于窗体最大化时的是否全屏效果与是否遮盖任务栏
  5. CSS设置图片的对齐
  6. 新概念0817:终身学习
  7. Azure手把手系列6:存储服务介绍
  8. 分别用matlab和python计算物品相似度矩阵(Jaccard系数
  9. CloudCC CRM:物联网必将成为CRM的推动力
  10. 使用java的io流编写日志类
  11. JavaScript if(x),==和===解析(翻译整理)
  12. 常见的文件格式有哪些
  13. 互联网公司吹牛逼指南
  14. python读取rtf文件_在python中将unicode文本输出到RTF文件
  15. 企业网站建设要注意的四大准则
  16. 地图学类毕业论文文献包含哪些?
  17. ios王者荣耀服务器维护31号,王者荣耀3月31日IOS无法更新什么情况?王者荣耀ios更新特别慢解决方法...
  18. c语言实现循环结构的语句有哪些?它们的区别是什么?,2011年04月份计算机软件基础(一)复习资料二...
  19. 如何给PDF中的内容添加下划线
  20. 博弈论一 [ 巴什博奕 ]

热门文章

  1. Python中删除字符串末尾的指定字符rstrip()方法
  2. oracle 多条件左连接,Oracle左连接,右连接
  3. 分公司可以独立缴纳企业所得税吗
  4. 校内实践报告——用友ERP-U8
  5. Spring boot 整合Jpa 配置文件参数
  6. 2022 最新 Mac Vim 开发环境的部署与配置
  7. docker镜像latest具体是哪个版本
  8. 一个月收入三四万是什么感觉?
  9. 三星GT-P7510平板刷机教程总结
  10. 孩子胆子小,不敢上台表演怎么办?