0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32CUBEIDE(2)----生成简单的例程

嵌入式单片机MCU开发 来源:嵌入式单片机MCU开发 作者:嵌入式单片机MCU开 2022-11-22 10:18 次阅读

概述

本章主要讲解通过STM32CUBEMX 生成代码,使用STM32CUBEIDE进行代码编写,需要样片的可以加群申请:615061293。

生成例程

使用STM32CUBEMX生成例程,这里使用NUCLEO-F103RB开发板。

在这里插入图片描述

新建一个工程,这里有3种新建工程方式。

● 基于MCU新建工程

● 基于ST模块新建工程

● 基于案例新建工程

在这里插入图片描述

创建时候,可以查看开发板或者芯片的基础资料

在这里插入图片描述

或者查看ST官网,有资料进行下载

https://www.st.com/zh/evaluation-tools/nucleo-f103rb.html#cad-resources 在这里插入图片描述

查看HAL库手册

点击Help->Updater Setting

在这里插入图片描述

可以查看到目录。

在这里插入图片描述

在该目录下可以查看到许多不同的包,以STM32F103为例,该说明文档在STM32Cube_FW_F1下。

在这里插入图片描述

进入DriversSTM32F1xx_HAL_Driver中,可以查看到芯片对应的HAL库文档。

在这里插入图片描述

以 HAL_GPIO_WritePin函数为例,可以通过目录进行查找。

在这里插入图片描述

也可以在索引中直接进行搜索。

在这里插入图片描述

生成案例

查看开发板资料,可以看到LD2的LED由PA5管脚进行控制。

在这里插入图片描述

配置PA5为输出IO口。

在这里插入图片描述

也可以定义IO口为自己喜欢的名字。

在这里插入图片描述

工程设置

配置工程名称和路径。

在这里插入图片描述

工程文件设置。

在这里插入图片描述

配置完毕点击GENERATE CODE。

在这里插入图片描述

代码

在inc文件夹中的main.h中,可以看到刚刚的PA5声明已经写入。

在这里插入图片描述

在主循环中加入灯闪烁的代码。

/* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET);
      HAL_Delay(100);
      HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
      HAL_Delay(100);      
  }
  /* USER CODE END 3 */

主要使用的按键如下,后续会讲解如何编译调试。

在这里插入图片描述

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17316

    浏览量

    352465
  • 开发板
    +关注

    关注

    25

    文章

    5121

    浏览量

    98097
  • stm32cubemx
    +关注

    关注

    5

    文章

    284

    浏览量

    14970
收藏 人收藏

    评论

    相关推荐

    stm32cubeIDE烧录报错Error是怎么回事?

    请问各位前辈 , stm32cubeIDE 烧录报错Error!
    发表于 07-03 06:42

    请问STM32CubeIDE如何加载外部bin文件?

    我有一个外部的bin文件,想要编译、链接到stm32工程里,如何用stm32cubeide来实现呢? 我知道在keil中可以添加一个.s文件可以实现,但是keil中用汇编指令INCBIN,在stm32cubeide中如何实现呢?
    发表于 05-30 06:41

    stm32cubeide生成STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞怎么解决?

    求助,用stm32cubeide生成STM32G030F6P6代码只要一开中断,任何中断程序都会跑飞.这个问题是在我升级stm32cubeide后出现的,以前用的正常,升级后重新编译
    发表于 05-27 07:45

    使用STM32CubeIde生成STM32WBA BLE Audio工程时,如何配置Ble Audio模式?

    使用STM32CubeIde生成STM32WBA BLE Audio工程时,如何配置Ble Audio模式? 看STMCubeMX界面中没有Ble Auido的选项。
    发表于 05-27 06:18

    STM32CubeIde生成的工程,使用printf函数没有调用_write和__io_putchar函数,为什么?

    最近使用STM32CubeIde生成工程,就先做一个简单的串口工程,使用NUCLEO-WBA52CG板子进行调试。 在初始化完毕后,使用printf打印log,重写了int io_putchar
    发表于 05-24 06:13

    stm32cubeIDE代码运行时间如何查看?

    stm32cubeIDE 代码运行时间,如何查看?就如 keil 调试时候那样,可以测试代码的运行时间。但是在stm32cubeIDE 中,一直没有找到这个功能,不知道哪位高人可以提示下在哪里查看的?
    发表于 04-16 08:10

    stm32CubeIDE如何能生成Lib?

    请问stm32CubeIDE如何能生成 Lib?
    发表于 04-12 07:57

    STM32CubeIDE生成STM32F4Discovery的RTOS工程无法运行的原因?怎么解决?

    遇到问题的步骤: 1. 打开STM32CubeIDE, 然后新建STM32工程 2. 选择板子, 型号为:STM32F407-DISC1, 然后命名为: test407 3. 在
    发表于 04-11 06:16

    请问如何把keil工程导入Stm32CubeIDE ?

    如何把keil工程导入Stm32CubeIDE ?
    发表于 04-09 08:30

    STM32CUBEIDE软件生成工程怎么使用CCRAM型号?

    求助STM32CUBEIDE软件生成工程怎么使用CCRAM 型号:STM32G474VE
    发表于 04-08 08:20

    STM32CubeMX生成stm32cubeide工程报错的原因?怎么解决?

    使用STM32CubeMX,建立了STM32F103VC的工程文件,能够生成IAR工程,正常使用没有问题。由于IAR调试时老是闪退,想换STM32CubeIDE用用,安装了最新的1.4
    发表于 04-07 07:14

    使用STM32CubeIDE修改堆栈大小后,生成的BIN文件内容没变化是怎么回事?

    大家好!我在使用STM32CubeIDE V1.6.1版本修改工程的堆栈后,在ld文件里已经看到堆栈对应的变量有改变了,但是为什么生成出来的bin文件没变化呢? 上传了的两个工程文件,希望大家可以
    发表于 04-07 06:11

    ubuntu23安装stm32cubeIDE后运行闪退的原因?

    STM32CubeIDE Debian linux installer 1.12.1版本,安装过程中出现关于python2版本问题导致不能正常安装。
    发表于 03-18 06:39

    使用touchGFX生成代码后,在该工程上再做些许改动STM32CUBEIDE都会频繁报错的原因?

    使用touchGFX生成代码后,只要是在该工程上再做些许改动,STM32CUBEIDE都会频繁报错make: *** No rule to make target
    发表于 03-12 07:50

    STM32CUBEIDE无法直接下载package包怎么解决?

    STM32CUBEIDE无法直接下载package包
    发表于 03-11 07:38