草庐IT

HAL_RCC_OscConfig

全部标签

手把手教你开发stm32——系统时钟(基于hal库)

目录:1.stm32时钟系统概述1.1.时钟系统的概念及意义1.2.常见振荡器简介1.3.stm32中时钟源的介绍2.stm32时钟配置3.SysTick定时器讲解3.1.SysTick定时器简介3.2.SysTick定时器工作原理3.3.systick每1s中触发一次中断代码实现3.4.systick相关寄存器分析4.HAL_Delay()函数的实现1.stm32时钟系统概述1.1.时钟系统的概念及意义概念:时钟系统是由振荡器(信号源)、定时唤醒器、倍频器、分频器等组成的电路。常用的信号源有晶体振荡器和RC振荡器。意义:时钟是嵌入式系统的脉搏,处理器啮合在时钟的驱动下完成指令执行,状态转换等

基于STM32_HAL库实现超声波测距

核心板        :STM32F103C8T6。超声波测距模块 :HC-SR04超声波测距模块实验目的      :利用超声波测距,将测量的距离打印在串口并输出。HC-SR04超声波测距模块介绍    接口定义:Vcc、Trig(控制端——PA2)、Echo(接收端——PA11)、Gnd     模块工作原理:采用IO触发测距,给至少10us的高电平信号;模块自动发送8个40khz的方波,自动检测是否有信号返回;有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间,测试距离=(高电平时间*声速(340M/S))/2; 测距方法介绍:    距离=超声波来回的时间/

通用输入输出端口GPIO,及其初始化(HAL库)

文章目录前言GPIOGPIO初始化GPIO_InitTypeDef使用HAL库进行GPIO初始化的示例代码:结束前言我在学习STM32时候呢,是直接先接触的STM32CubeMX软件,更着网上各种教程迷迷糊糊学了一大堆没用的东西,于是先一步步来吧,我总结了很长时间,希望对正在学习相关知识的朋友们有帮助。可以先去看看STM32CubeMX如何配置:传送门读完以上我写的文章基本上是蒙的,因为我写文章时候也有这样的感觉,感觉学到了什么又感觉什么也没学到,虽然最后灯亮了,但原理什么的都不知道,于是开始学习GPIO口如何去操作的,就像51一样开始入手P0^0控制高低电平一个道理。GPIOSTM32的GP

keysking 【stm32】hal库学习笔记--定时器(超详细!)

stm32hal库–定时器任务一:串口发送计数器的值一.CubeMX配置1.打开串口2及其中断,用于发送数据2.将高速外部时钟源设置为晶振,提高定时精度3.将HCLK改为72MHz4.开启定时器TIM4–勾选InternalClock(内部时钟)/TIM2–将ClockSource选择为InternalClock5.设置预分频器Prescaler–n(想要实现的分频)-1CounterPeriod(自动重装载寄存器)m-1[即每数到m次计数器清零)二.代码部分定时器启动函数HAL_TIM_Base_Start(接收tim4句柄的指针)1.启动定时器Base定时器基本用法调用此函数后TIM4开始

手把手教你开发stm32——定时器(上)(基于hal库)

目录:1.stm32定时器介绍1.1.stm32f103定时器介绍1.2.定时器计数模式1.3.定时器的时钟2.stm32时钟的工作方式3.定时器中断具体实现3.1.cubemx的具体配置3.2.具体代码的实现4.通用定时器功能分析5.高级定时器功能分析6.输入捕获实验6.1.理论知识6.2.cubemx配置6.3.具体代码实现1.stm32定时器介绍1.1.stm32f103定时器介绍定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。16位计数器、预分频器、自动重装载寄存器的时基单元。不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发

esp8266与stm32、手机通讯(原子云)——hal库(有代码)

本文所讲:正点原子的wifi模块esp8266与正点原子开发板战舰V3(stm32f103zet6)及手机app通讯esp8266分为三种工作模式:STA:8266连接到网络比如wifi、手机热点等。AP:8266作为热点,由手机连接到8266.STA+AP:两种模式兼容。本文章的实现是采用第一种方式。首先百度搜索原子云(手机通讯就是用原子云app),进入设备管理,新建设备,(图中的是我以前建的,如果你第一次使用原子云下图应该没有设备)。选择ESP8266,填写设备名称和密码。上图的的编号和你刚才设置的密码接下来会用到。(用你自己的编号)硬件连接:必须短接:PB11(RX)和GBC_TX以及P

STM32HAL-完全解耦面向对象思维的架构-时间轮片法使用(timeslice)

目录概述 一、开发环境二、STM32CubeMx配置三、编码 四、运行结果五、代码解释六、总结概述         timeslice是一个时间片轮询框架,完全解耦的时间片轮询框架,非常适合裸机单片机引用。接下来将该框架移植到stm32单片机运行,单片机只需用1个定时器作为时钟即可。友情链接(项目示例):https://download.csdn.net/download/qq_36075612/88498232一、开发环境1、硬件平台   STM32F401CEU6   内部Flash:512Kbytes,SARM: 96Kbytes二、STM32CubeMx配置 2.1、系统时钟配置2.2

【09】STM32·HAL库-新建HAL库版本MDK工程 | 下载STM32固件库

目录1,新建工程前的准备工作(了解)1.1下载相关STM32Cube官方固件包(F1/F4/F7/H7)2,新建HAL库版本MDK工程步骤(熟悉)2.1新建工程文件夹2.1.1Drivers文件夹2.1.2Middlewares文件夹2.1.3Output文件夹2.1.4Projects文件夹2.1.5User文件夹2.2新建一个工程框架2.2.1新建工程2.2.2保存工程2.2.3选择主控型号2.2.4删除文件夹2.3添加文件2.3.1设置工程名和分组名2.3.2添加启动文件2.3.3添加User源码2.3.4添加SYSTEM源码2.3.5添加STM32F1xx_HAL_Driver源码2.

STM32F407的串口接收不定长数据两种方式HAL库

文章目录概要整体架构流程不用DMA的方式使用DMA方式小结概要我的博客:https://hahaxiong0204.github.ioSTM32的串口接收不定长数据,最近在看超子说物联网,感觉太麻烦了不适合直接上手,然后我自己总结了两种方法:1、不利用DMA2、利用DMA方式整体架构流程这个HAL整起来是方便,但是HAL整体来说对于细节很到位就是逻辑很强逻辑,也就很繁琐,效率又不高,还缺胳膊少腿的。好用,就比如说这个串口接收,没有专门的方法调用。搞的就很麻烦,我第一次接触就是这感觉哈,大佬除外。然后我看到超子说物联网可以用这个串口的空闲中断来搞这个串口的不定长接收。大致的原理是:在接收每一段数

STM32(HAL库)驱动(1.44寸)TFT-LCD彩屏

目录1、简介2、CubeMX初始化配置2.1基础配置2.1.1SYS配置 2.1.2RCC配置2.2屏幕引脚配置2.3项目生成 3、KEIL端程序整合3.1LCD驱动添加3.2 函数修改3.2.1 lcd.h修改3.2.2lcd_innit.h 修改 3.2.3lcd.c修改 3.2.4 lcd_inut.c修改 3.3 主函数代码3.3.1添加头文件3.3.2 LCD进行初始化3.3.3 while中添加如下代码4、硬件连接5、效果展示1、简介屏幕厂家提供的都是标准库,网上找了找没看到好用的HAL库屏幕驱动,因此本文对HAL库驱动TFT屏幕进行详细讲解。2、CubeMX初始化配置2.1基础配