首页 > 其他分享 >HAL库教程2:使用STM32CubeMX新建一个工程

HAL库教程2:使用STM32CubeMX新建一个工程

时间:2023-01-11 12:34:24浏览次数:46  
标签:教程 HAL 引脚 PC10 STM32CubeMX 单片机 安装 时钟


安装STM32CubeMX

  安装STM32CubeMX之前,电脑中要有java运行时环境(JRE),否则会报错:

HAL库教程2:使用STM32CubeMX新建一个工程_安装过程


  双击JavaSetup8u201.exe即可安装JRE。在安装过程中,需要在线下载一些资源,所以应当保持网络连接。

HAL库教程2:使用STM32CubeMX新建一个工程_单片机_02


  然后双击SetupSTM32CubeMX-5.0.1.exe。

HAL库教程2:使用STM32CubeMX新建一个工程_HAL库_03


  建议放在默认的文件夹下。

  安装过程也比较简单,不再赘述。

新建STM32CubeMX工程

  可以通过选择单片机来创建工程

HAL库教程2:使用STM32CubeMX新建一个工程_STM32_04

输入单片机型号

  我使用的单片机型号为STM32F405RGTx

HAL库教程2:使用STM32CubeMX新建一个工程_安装过程_05


  第一次使用某单片机,在点击生成代码以后,如果没有相应的固件,STM32CubeMX软件会提示需要下载固件,点击确定即可在线下载。

  保持联网,在线安装很快。

HAL库教程2:使用STM32CubeMX新建一个工程_安装过程_06

设置系统时钟源

  设定外部高速时钟为晶振。

HAL库教程2:使用STM32CubeMX新建一个工程_教程_07

根据实际硬件与要求配置时钟

  我使用的是12Mhz的外接晶振,配置168Mhz的系统时钟

HAL库教程2:使用STM32CubeMX新建一个工程_教程_08

设定工程的名字,路径与IDE包含的库文件

HAL库教程2:使用STM32CubeMX新建一个工程_HAL库_09


HAL库教程2:使用STM32CubeMX新建一个工程_HAL库_10


  实际上,HAL库文件很多,在我的老笔记本上,一个工程的编译足足需要2分钟Orz。

  我使用的IDE是KEIL,也叫MDK,版本5.25,安装过程略。

按照业务需求配置代码

  以点亮LED为例。在我的电路中,LED1连接的引脚是PC10,LED2连接的引脚是PC11。我们先把引脚PC10与PC11设置为输出。

HAL库教程2:使用STM32CubeMX新建一个工程_单片机_11


  两个LED都是低电平点亮。我们设置默认情况下PC10为低电平,PC11为高电平。

HAL库教程2:使用STM32CubeMX新建一个工程_教程_12

生成代码并打开工程

HAL库教程2:使用STM32CubeMX新建一个工程_STM32_13


标签:教程,HAL,引脚,PC10,STM32CubeMX,单片机,安装,时钟
From: https://blog.51cto.com/u_12001544/6002126

相关文章

  • HAL库教程5:串口数据发送
    使用CubeMX配置串口1配置引脚  我的板子上使用插针引出了串口1,串口1连接PA8与PA9。配置串口通信参数  使能串口1,并配置为异步模式,波特率为115200,模式8N1。使能串口中断......
  • HAL库教程3:引脚输入检测
    使用CubeMX配置输入引脚  本章我们要把按键作为输入源,使用单片机来检测引脚的电平状态。首先要查看原理图,按键与那些引脚相连。  我使用的板子,按键K2-K5分别对应PA4-P......
  • HAL库教程1:STM32Cube的介绍
      使用STM32HAL库已经有了一段时间,觉得相比于标准库,好用了不少。加上STM32CubeMX图形化配置工具的加持,个人认为可以极大提升开发效率。其实关于HAL库的教程已经很多了,关于......
  • HAL库教程7:STM32的时钟系统
      STM32的时钟系统比较复杂,不像51单片机,可能只有一个时钟。原因:1、外设多,不同的外设有不同的时钟要求;2、功耗原因,速度越快,功耗越大,抗电磁干扰能力越弱。此处以STM32F405......
  • HAL库教程4:外部中断
    外部中断机制  本章我们仍然是通过按键来控制LED,只不过实现方式由轮询变为了外部中断。为什么需要外部中断?为了给CPU减轻负担。  举个例子  比如你今天有个快递,快递......
  • HAL库教程8:通用定时器的使用
    定时器溢出时间的计算  关于定时器溢出的时间计算,有个公式:  定时器本质上是一个不断自加的计数器,只不过在自加的时候,能够自动比较计数值跟某个设定值而已。定时器+1用......
  • HAL库教程9:串口接收不定长数据
      串口收到的两组数据之间,往往会有一定的时间间隔。可以判断这个间隔,来实现无需结束符,无需指定长度,串口可接收不定长数据的功能。如果串口在一定的时间内没有收到新的数据......
  • HAL库教程11:定时器的缓冲功能与影子寄存器
      在STM32的定时器中,TIMx_PSC、TIM_ARR两个寄存器加上捕捉比较模块中TIMX_CCR寄存器,它们都可以动态修改。不过他们的修改和生效可能不在同一个时刻,或者说,修改过后立即生......
  • HAL库教程10:定时器的PWM模式应用
      本节通过定时器的PWM模式驱动无源蜂鸣器,来演奏一段音乐。本博客在掌机的系列教程中介绍过蜂鸣器的驱动原理,感兴趣的可以参考​​电子琴​​无源蜂鸣器驱动电路  蜂鸣......
  • 电子设计教程20:晶体管负反馈放大电路的参数设计
    放大倍数的推导  我们假设的电路在没有负反馈的时候,电路增益为A(也称为开环增益,或者裸增益,等于各极增益的乘积)。实际放大倍数A_v可以表示为:  这个公式可以推导出来,但推......