STM32开发——简介、开发环境(Keil5、CubeMX)、HAL库

这篇具有很好参考价值的文章主要介绍了STM32开发——简介、开发环境(Keil5、CubeMX)、HAL库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.简介-初识STM32

2.开发环境

2.1使用Keil5

 2.2使用STM32CubeMX 

3.标准库与HAL库区别

4.推挽输出与开漏输出


1.简介-初识STM32

什么是单片机?

  • 单片机(Single-Chip Microcomputer)是一种集成电路芯片,把具有数据处理能力的中央处
    理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功
    能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成
    到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

STM系列单片机命名规则

  • ST -- 意法半导体
  • M -- Microelectronics 微电子
  • 32 -- 总线宽度

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

项目 介绍
内核  Cortex-M3
Flash 64K x 8bit
SRAM  20K x 8bit
GPIO  37个GPIO,分别为PA0-PA15、PBO-PB15、PC13-PC15、PDO-PD1
ADC 2个12bit ADC合计12路通道,外部通道: PAO到PA7+PBO到PB1内部通道: 温度传感器通道ADC Channel 16和内部参考电压通道ADC Channel 17
定时器/计数器 4个16bit定时器/计数器,分别为TIM1、TIM2、TIM3、TIM4TM1带死区插入,常用于产生PWM控制电机
看门狗定时器 2个看门狗定时器 (独立看门狗IWDG、窗口看门狗WWDG)
滴答定时器 1个24bit向下计数的滴答定时器systick
工作电压、温度 2V —3.6V、-40°—C85°C
通信串口 2 * IIC,2 * SPI,3 * USART,1 * CAN
系统时钟 内部8MHz时钟HSI最高可倍频到64MHZ,外部8MHZ时钟HSE最高可倍频到72MHZ

2.开发环境

2.1使用Keil5

1.安装MDK

地址选择

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

2.破戒

3.安装芯片对应的固件包——F1固件包

双击固件包直接安装即可

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 4.创建STM32F1模板工程

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

在魔术棒中的C/C++需要添加文件头文件路径 

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 5.接线

烧录工具有很多种,比如:串口、J-Link、ST-Link、U-Link 等等,本教程使用 ST-Link。

安装驱动

  • 官网下载(慢)https://www.st.com/en/development-tools/stsw-link009.html
  • 资料包

接线

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 6.编译及下载

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 后两个编译生成hex文件

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

LOAD就是下载程序到开发板

需要程序运行,需要按一下开发班的复位按钮。

F12:查看对应函数的具体信息

 2.2使用STM32CubeMX 

作用:通过界面的方式,快速生成工程文件。

缺点:只能对IO口进行操作,不能生成复杂代码。

下载:官网(慢)https://www.st.com/zh/development-tools/stm32cubemx.html#overview

安装:一路下一步,建议不要安装在C盘

配置:更新固件包位置(比较大,默认在C盘,可以更改到其它盘)

  • help ---> update settings --> Firmware Repository

步骤:

1. 点击「ACCESS TO MCU SELECTOR」;
2. 左上角搜索对应的芯片,并在右侧双击对应的芯片;

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

3. 点击芯片对应的引脚,并进行配置;
4. 配置工程名称及位置:

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 1. 按下图配置 Coder Generator :

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 6. 点击右上角 generate code :

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

 7. 点击 Open Project 即可调用 Keil5 打开自动生成的工程文件。

3.标准库与HAL库区别

1. 寄存器

  • 寄存器众多,需要经常翻阅芯片手册,费时费力;
  • 更大灵活性,可以随心所欲达到自己的目的;
  • 深入理解单片机的运行原理,知其然更知其所以然。

2. 标准库

  • 将寄存器底层操作都封装起来,提供一整套接口(API)供开发者调用
  • 每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx…之类的;
  • 配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能;
  • 大大降低单片机开发难度,但是在不同芯片间不方便移植。

3. HAL库

  • ST公司目前主力推的开发方式,新的芯片已经不再提供标准库;
  • 为了实现在不同芯片之间移植代码;
  • 为了兼容所有芯片,导致代码量庞大,执行效率低下。

4.推挽输出与开漏输出

stm32开发环境,嵌入式开发,# STM32开发,stm32,单片机,嵌入式硬件

推挽输出: 可以真正能真正的输出高电平和低电平。
开漏输出: 开漏输出无法真正输出高电平,即高电平时没有驱动能力,需要借助外部上拉电阻完
成对外驱动。文章来源地址https://www.toymoban.com/news/detail-598931.html

到了这里,关于STM32开发——简介、开发环境(Keil5、CubeMX)、HAL库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32CubeMX+Keil5新建工程

    STM32CubeMx 软件是 ST 公司为 STM32 系列单片机快速建立工程,并快速初始化使用到的外设、GPIO 等,大大缩短了我们的开发时间。简单地说STM32CubeMX 本身就是一个工具软件,我们只要在上面通过图形化配置就可以生成STM32 功能代码工程,这样节省我们的工作量。在之前没有用这个

    2024年01月19日
    浏览(75)
  • 【正点原子STM32探索者】CubeMX+Keil开发环境搭建

    本文主要分为三部分,第一部分介绍正点原子STM32探索者开发板外观和配套资料如何下载,第二部分介绍如何搭建CubeMX+Keil开发环境,第三部分介绍如何使用CubeMX和Keil一步步创建出一个点亮LED灯的项目。搭建开发环境部分,包括安装Keil MDK、安装STM32 CubeMX、安装STM32F4系列MCU的

    2024年03月16日
    浏览(22)
  • MPU6050(读取原数据、移植DMP、stm32f4、HAL库、KEIL5)

    记录一下自己遇到的问题及解决方法,希望能帮助到一些人。 第一步,读取芯片的原始数据。需要注意两点:1、对HAL库提供的IIC读取写入函数进行再包装。(千万不要觉的这步多此一举,后面移植DMP时用得到) 2、芯片的地址(这里面有俩坑)第一就是,芯片的 I2C 设备地址

    2023年04月08日
    浏览(16)
  • (STM32基础)STM32用keil5开发前准备

    1)Keil5安装MDK-ARM版本后,需要安装对应芯片器件库,否则新建工程无芯片可选项。  查看设备管理器  stlink 是否驱动正常,如果是感叹号则需要装驱动  2、插入STLINK后,在keil安装目录下找到安装驱动程序,安装STLINK驱动。 3、插入usb转串口模块后,安装驱动程序(资料文件

    2024年02月03日
    浏览(36)
  • Keil5编译环境搭建流程----STM32和GD32

    以下蓝色字体是对应文章的链接,单击便可以查看详细信息! 文章链接: Keil5-MDK下载和安装教程 资源链接: Keil5_MDK安装包链接----点击下载 文章链接: stm32芯片包下载和安装教程 GD32芯片包下载和安装教程 资源链接: Keil5-STM32芯片包链接----点击下载 Keil5-GD32芯片包链接---

    2024年02月05日
    浏览(36)
  • Keil5 开发 STM32 工程创建

    打开Keil5软件,点Project菜单的的下来选项New uVision Project…,然后选择工程文件夹放置的目录,新建项目目录,如:LED闪烁 点击OK后,会弹出配置运行时环境的选项框,关闭即可,该方法使用手动配置。 完成后,如下图: 打开项目目录,分别创建3个文件夹:Library, Start, User,

    2024年02月16日
    浏览(35)
  • STM32F103标准库开发:Keil5新建STM32工程

    首先需要搭建Keil5编译环境,才可以新建STM32工程。 Keil5编译环境搭建流程----STM32和GD32 新建一个文件夹 template 在文件夹template里面新建四个文件 (1) CMSIS : 存放内核驱动程序和启动引导文件 (2) FWLIB :存放库函数文件 (3) Project :存放工程文件 (4) User : 存放用户程

    2023年04月08日
    浏览(33)
  • 2023最新版本~KEIL5使用C++开发STM32

    ▬▬▬▬▬▶用C++开发Keil◀▬▬▬▬▬ 因为是第一次写这个配置教程 我会尽量详细些 打开一个Keil工程 移除本地core 添加在线core 第一次编译代码 不会有报错 修改main.c文件类型为C++ 点击魔术棒 把ARM编译器修改为V6 第二次编译会报错语法不兼容 我把汇编部分的这些代码做了

    2024年02月12日
    浏览(20)
  • STM32基于HAL库和STM32CubeMX的实时操作系统FreeRtOS开发

    1、FreeRTOS RTOS是一类操作系统,µC/OS,FreeRTOS,RTX,RT-Thread 等这些都是RTOS 类的操作系统 FreeRTOS 是众多RTOS 类操作系统中的一种,FreeRTOS 十分的小巧,可以在资源有限的微控制器中运行,FreeRTOS 也不仅仅局限于在微控制器中使用。就单从文件数量上来看FreeRTOS 要比µC/OS 少得多

    2024年02月21日
    浏览(20)
  • STM32CubeMX配置STM32G031多通道ADC采集(HAL库开发)

    时钟配置HSI主频配置64M  勾选打开8个通道的ADC  使能连续转换模式  配置好串口,选择异步模式 配置好需要的开发环境并获取代码  修改main.c 串口重定向  串口重定向一定要勾选Use Micro LIB  获取ADC通道值 主函数   串口输出

    2024年02月15日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包