在读ST的Discovery开发的源代码的时候看到有些函数带了Msp字段。
转载 2017-12-29 19:51:00
243阅读
2评论
STM32HAL的几个点: 1.最大可移植性。2.提供了一整套一致的中间件组件,如RTOS,USB,TCP / IP和图形等。3.通用的用户友好的API函数接口。4.ST新出的芯片已经没有标准。5.HAL已经支持STM32全线产品。 网友认为,“HAL我觉得是极好的,就是SPI接收时速度实在太慢,不用DMA的话,吃不消。“ 通常在入门STM32的时候,一般大多数都会选用标准HAL,而极
STM32三种的类型:ST已经推出了三种库函数,以方便客户快速开发STM32系列MCU。从15、16年开始,ST逐渐停止了对标准外设的更新和维护,转向了HAL和LL。(1) 标准外设驱动SPL                     Standard Peripheral Li
ST7789驱动程序移植,标准HAL STM32F407 原因课设项目用到了ST7789这款lcd,但是官方给的例程都是标准,在网上也没有找到HAL的驱动。所以自己移植一下,使用STM32Cubeide首先新建项目,打开SPI1,需要更改的地方如下   关于引脚如何配置,这里参考一下原例程,PG12和PD5为SPI
转载 2024-07-02 22:08:49
0阅读
   我们来学习下STM32F1 的实时时钟(以下简称 RTC),利用 RTC设计一个简单的电子时钟。要实现的功能是:通过串口打印出日期和时间,D1指示灯闪烁提示系统运行。RTC简介    STM32 的实时时钟( RTC)是一个独立的定时器。STM32 的 RTC 模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修
 我们在使用嵌入式功能开发的时候经常需要使用按键实现一些功能。按键一般接触较多的就是独立按键,但一般情况上会需要多个按键,使用独立按键就会使得IO口资源浪费;因此会提出使用矩阵按键,该方法是可以实现节省IO口;本次介绍使用ADC实现多按键功能,通过采集ADC不同的值,然后判断是按键几按下?因此要求完成功能:实现一个ADC口完成对八个按键的检测,识别按键几按下,并将结果通过串口到串口助手上
转载 2024-04-02 13:48:41
136阅读
HAL的SPI的配置包括通讯参数和IO引脚配置,其中通讯参数配置函数在MX_SPI1_Init()中自不必说。那么IO引脚配置在什么地方调用呢:MX_SPI1_Init()-》HAL_SPI_Init()-》HAL_SPI_MspInit()
转载 2021-01-27 16:40:00
522阅读
2评论
目录前言一、如何编程使用?二、使用步骤1.I2C通讯协议采集传感器数据BH1750传感器简介CubeMX配置1.GPIO引脚2.时钟3.I2C外设配置代码编写总结2.SPI通讯协议LCDLCD简介CubeMX配置1.GPIO引脚2.时钟3.SPI外设配置代码编写总结3.QSPI通讯协议读写FLASHQSPI简介W25Q64串行FLASH简介操作原理CubeMX配置1.GPIO引脚2.时钟3.QS
STM32 HAL学习笔记2 HAL介绍CMSIS标准一、再次认识HALHAL设计思想HAL实现方式以GPIO模块为例GPIO外设数据类型GPIO外设接口函数二、使用HAL1.工程必要文件的调用关系2.使用步骤三、新建工程模板1.手动新建1)新建本地工程文件夹2)新建MDK工程6.编写用户代码2.使用CubeMX创建工程复制步骤总结 原文链接:STM32微控制器面向不同应用场景有丰
STM32使用HAL驱动RTC时钟及闹钟功能目录STM32使用HAL驱动RTC时钟及闹钟功能
原创 2023-02-01 21:34:43
3011阅读
从源代码来看HAL库函数(一) HAL基础函数全局变量__IO uint32_t uwtick 这个变量充当了一个运行时长计数的作用,每发生一次SysTick中断就会加一,直至溢出,可以计算一下,溢出时间为2^32/1000/3600(以每1ms+1来算),大概要1193个小时,约50天,一般情况下是不用担心它会溢出的。 - uint32_t uwTickPrio = (1UL <<
基于F411 标准第一步:配置对应GPIO口的结构体初始化,TX连RX、RX连TX,引脚复用功能void Uart_GPIO_Config(void) { /*串口GPIO配置函数*/ GPIO_InitTypeDef GPIO_InitStruct; /*UART ->TX ->PA9*/ RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIO
原创 精选 2024-02-27 15:37:20
442阅读
标准:基于按键中断,中断不声明不调用第一步时钟、中断源配置,中断结构体配置void Exit_Init(void) { RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG,ENABLE); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA,EXTI_PinSource0); //Sys中断配置 SYSCFG_EXTI
原创 精选 2024-02-27 17:11:59
420阅读
目录1 前言2 准备部分2.1 关于STM32F103VET62.2 HAL固件下载2.3 安装STM32F1的Pack2.4 STM32CubeF1固件包说明2.4.1 HAL固件2.4.2 部分少用的文件说明2.4.3 Middlewares文件夹的子文件夹说明2.4.4 Drivers文件夹的子文件夹说明2.4.5 Projects文件夹3 库函数版工程模板的创建——HAL版本3.1
转载 2024-07-19 10:22:36
164阅读
此次测试是基于正点原子STM32精英版,芯片为STM32F103ZET6基于HAL的配置预分频后为单位时间。Time for one bit 为时间段1和时间段2再加单位时间。时间段1和时间段2为单位时间的整数倍。在上图中为4+4+1倍,即9倍。图片中配置为2000ns,即波特率为500Kbps。 若是想要中断接收数据,还需要打开中断。完成后生成代码即可CAN过滤器过滤器是需要自己配置的,而且不
转载 2023-12-19 19:24:30
646阅读
一、hal主体框架解析hal:模板:hardware/libhardware/modules/overlay/ 如图所示jni与hal层主要数据结构和函数调用: 首先jni层通过hw_get_module函数传入LED_MODULE_ID 即hal的字符串名称,来找到hal并加载它,加载后为pmodule赋值拿到led_hw_module_t 结构体实现。 然后再通过pmodule->c
为什么使用CubeMX和HAL?博主之前一直习惯使用标准,是因为大一刚接触单片机是从stm32f103zet6入门的,当时是买了80元的开发板,看的正点原子的标准教学视频。因为正点原子的代码比较全面,一些基本外设使用例程都有,于是自己一直依赖标准和例程。虽然长时间的使用对标准的操作已经较为熟悉,但是回头想想,如果让我手敲GPIO初始化,可能也能敲出,但是效率肯定不会很高(其中有一个原因其
转载 2024-10-26 23:06:27
373阅读
说明:下面xx表示实际字符就是xx表示形式,n表示数值,ppp表示可能实际有可能出现的符号1.一类stm32fn有自己一个专门的cube,比如f1系列有自己的f1系列cube,f4系列有自己的f4cube,这里n为f系列,如1,3,4,7等等。2.HAL下各类文件名的作用:stm32fnxx_hal_ppp.c/.h:表示基本外设的操作api,ppp代表任意外设。由于HAL每类针对一系列
转载 2024-04-28 14:08:18
213阅读
初始化一些串口函数(以F4为例)//在stm32f4xx_hal_uart.h中///* Initialization/de-initialization functions  **********************************///串口的初始化,对需要的使用的串口进行初始化HAL_StatusTypeDef HAL_UART_Init(UART_HandleTyp...
原创 2021-07-14 16:46:20
1370阅读
使用hal库函数通常会经常使用STM32cubeMX这个软件进行一个配置会相对较为简单,软件安装在我的另一篇博客里面有讲解,其中引脚的配置可以看一下这
原创 2021-11-13 15:51:44
933阅读
  • 1
  • 2
  • 3
  • 4
  • 5