打印
[应用相关]

STM32CubeMX和TRUEStudio的使用

[复制链接]
922|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
antusheng|  楼主 | 2019-10-31 22:11 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
最近开始学习STM32的HAL库,之前有用过std库函数做STM32开发的基础,因此学习HAL库会更容易上手一些,但对于新的编程、下载工具以及HAL库仍有许多不清晰的地方。经过初步的实验实现点亮LED灯和串口的发送数据之后,对所用到的几个工具以及HAL库进行一个总结。

HAL —— 硬件抽象层(Hardware Abstraction Layer),是STM32最新推出的抽象层嵌入式软件,支持中间件组件(如RTOS,USB,TCP / IP和图形等),便于用户实现移植。

固件库框架:



HAL Driver文件介绍:

stm32f0xx_hal.h/stm32f0xx_hal.c:HAL模块驱动文件,初始化HAL配置、配置时基为1ms

        —— HAL_Init(void),配置Flash预取、时基源(systick)、NVIC和底层配置

        —— HAL_DeInit(void),复位所有外设(APB1、APB2和AHB)

        —— 几个weak函数 实现延时   HAL_IncTick、HAL_GetTick、HAL_Delay

stm32f0xx_hal_def.h:定义了HAL库所需的一些公用的结构体、枚举变量等

stm32f0xx_hal_conf.h:define了所需要用到的外设使能,例如如果用到ADC,就取消注释“#define                                  HAL_ADC_MODULE_ENABLED”,则编译时会将与ADC定义有关的头文件和源文件加载进来

stm32f0xx_hal_msp.c:实现msp层的init和deinit

使用特权

评论回复
沙发
antusheng|  楼主 | 2019-10-31 22:12 | 只看该作者
整个开发过程使用三个工具:STM32CubeMX、TRUEStudio和STM32CubeProgrammer

首先使用STM32CubeMX对选择需要开发的芯片或者开发板,对应的芯片或开发板的管脚信息就会显示出来



可以对管脚进行编辑,选择配置模式 ,比如让PC9配置成输出,以及允许UART1的功能,之后就是生成代码,在project/setting里面设置工程名称、使用的IDE(我这里是TRUEStudio,也可以选择MDK等其他IDE),设置需要加载的库(Code Generator)等,点击生成代码即可生成含HAL库的工程,用TRUEStudio打开进行编辑。





使用特权

评论回复
板凳
antusheng|  楼主 | 2019-10-31 22:12 | 只看该作者
由于在STM32CubeMX中我们已经编辑了设置,因此生成的代码中已经完成了我们所需外设的初始化工作,具体都在生成的外设.c源文件(例如gpio.c、uart.c)中的init函数(例如MX_GPIO_Init(),MX_USART1_UART_Init())中实现,我们要做的只需要在相应的USER CODE区域中添加自己的代码(其实就是调用HAL外设功能实现函数),如下:

while (1)
  {

  /* USER CODE END WHILE */
         HAL_Delay(1000);
         HAL_GPIO_WritePin(GPIOC,GPIO_PIN_9,GPIO_PIN_RESET);
         HAL_UART_Transmit(&huart1,pData,12,1000);
         HAL_Delay(1000);
         HAL_GPIO_WritePin(GPIOC,GPIO_PIN_9,GPIO_PIN_SET);
  /* USER CODE BEGIN 3 */

  }


使用特权

评论回复
地板
antusheng|  楼主 | 2019-10-31 22:13 | 只看该作者
点击编译后会生成.hex文件,TRUEStudio可以调试程序

打开STM32Cube Programmer,连接STLink(STM32F072开发板有板上STLINK,直接连USB就可以进行STLINK调试) ,加载.hex文件烧录到开发板中即可。


使用特权

评论回复
5
guanjiaer| | 2019-11-19 11:12 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
6
木木guainv| | 2019-11-19 11:15 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
7
xiaoqizi| | 2019-11-19 11:34 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
8
wowu| | 2019-11-19 11:43 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
9
wakayi| | 2019-11-19 12:40 | 只看该作者
非常感谢楼主分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

1467

帖子

5

粉丝