
STM32
zateper
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
STM32 HAL库的 HAL_Delay() 详解
一、实现原理以下代码摘自cubeMX自动生成的部分/*stm32f1xx_it.c*///sysTick中断函数void SysTick_Handler(void){ /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQ原创 2020-09-04 10:21:55 · 15622 阅读 · 1 评论 -
CCS811二氧化碳和TVOC传感器 HAL库 模拟IIC调试成功 适用于CubeMX CubeIDE
目录一、硬件连接二、模拟IIC头文件C文件三、CCS811过程CCS811工作流程(官方文档)1. [BootMode]读取硬件ID2.[BootMode]读取状态值3.[BootMode]切换到APP模式4.[APP Mode]读取状态值5.[APP Mode]设置测量周期6.[APP Mode]读取传感器值CCS811代码(改编自文献2)头文件参考文献一、硬件连接VCC - 3.3VSCL和SDA接I...原创 2020-06-29 16:41:57 · 4295 阅读 · 10 评论 -
STM32CubeIDE 利用LL库 SysTick简单实现hcsr04超声波测距
一、超声波测距模块简介(网络摘取)HC-sr04是一款典型的超声波测距模块,升级版的程序和04的差别不大,只是测量范围和精度有所不同。它是如何工作的?超声波传感器使用声纳来确定到物体的距离。以下是其工作过程:1. 发射器(触发引脚)发送信号:一段高频声音。2. 当信号遇到一个物体时,它会被反射;3. 然后发射器(回声引脚)接收该信号。信号发送和接收之间的时间可以告知我们到物体的距离。这个是可以实现的,因为我们知道声音在空气中传播的速度。传感器引脚图...原创 2020-05-18 16:28:12 · 3069 阅读 · 0 评论 -
STM32CubeIDE LL库实现串口收发
接之前的HAL库串口篇:https://blog.youkuaiyun.com/u010779035/article/details/103764852目录前言一、MX配置二、生成的代码三、用户代码小结前言在某次实践中,使用HAL库中断接收,会出现不少毛病,查了硬件软件看起来都没问题,考虑了一下可能是HAL库函数的操作耗时过长等原因。无奈之下,尝试使用了LL库,问题不再复现。...原创 2020-03-16 23:14:07 · 10218 阅读 · 2 评论 -
Ubuntu 18.04 安装 STM32CubeIDE 小记
一、 软件获取官网:https://www.st.com/en/development-tools/stm32cubeide.html选取deb版本进行下载二、 安装下载下来是这么个zip压缩包,需要先解压。ubuntu可以直接打开以后,点解压,或者全部拖到某个文件夹内。en.st-stm32cubeide_1.3.0_5720_20200220_1053_amd64.de...原创 2020-03-04 21:47:42 · 3638 阅读 · 0 评论 -
STM32CubeIDE HAL库IIC实现气压计MS5637的数据读取
目录一、配置二、MS5637工作流程1、复位2、读取出厂校准参数3、开启ADC及转换4、读取数据(重复开启和读取,分别得到温度和气压值)5、通过参数和数据计算得到标准单位的数据三、代码1. h2. c3.main一、配置在这之前有发过IIC的博客,见:STM32CubeIDE HAL库操作IIC (一)配置篇MX的配置方法同该篇,此次没有用到...原创 2020-02-20 21:54:47 · 2988 阅读 · 4 评论 -
STM32CubeIDE HAL库实现SPI通信
目录一、MX配置二、生成的代码三、使用1.片选引脚2.通信函数一、MX配置如果片选引脚没有连接SPI1_NSS(PA4),则需要选择软件片选左键对应的软件片选引脚,选择GPIO_Output二、生成的代码1. <spi.c>初始化配置2. <main.h>片选引脚用户标识定义三、使用...原创 2020-02-19 11:43:43 · 17143 阅读 · 0 评论 -
STM32CubeIDE 简单配置USB虚拟串口 并实现printf
一、MX配置(支持OTG的32需要在USB_OTG_FS中 选择DeviceOnly模式)中间件Middleware配置选择虚拟串口,参数默认即可时钟配置需要将USB的频率设置为48MHz修改堆空间,避免电脑识别异常二、生成的代码代码文件分布结构在main.c中已自动加入以下相关代码#include "usb_device.h"...原创 2020-02-18 10:10:44 · 12261 阅读 · 7 评论 -
STM32CubeIDE HAL库操作IIC (二)案例篇(MPU9250)
接上一篇:STM32CubeIDE HAL库操作IIC (一)配置篇一、IIC接口二、工作流程三、传感器数据读取原创 2020-02-17 21:43:39 · 9757 阅读 · 7 评论 -
STM32CubeIDE HAL库操作IIC (一)配置篇
uint8_t HALIIC_WriteByteToSlave(uint8_t I2C_Addr,uint8_t reg,uint8_t data){ uint8_t *pData; pData = &data; return HAL_I2C_Mem_Write(&hi2c1, I2C_Addr, reg, I2C_MEMADD_SIZE_8BIT, ...原创 2020-02-17 13:19:42 · 26238 阅读 · 10 评论 -
STM32CubeIDE ADC通过DMA获取方法
目录一、MX配置二、生成的代码三、用户代码方法1连续采集100次方法2不间断采集一、MX配置注意使能持续转换模式DMA配置:二、生成的代码1. ADC初始化2.底层初始化三、用户代码方法1连续采集100次uint16_t ADC_Value[100],ad1;float adv;//开启转换HAL_...原创 2020-02-03 22:36:11 · 3831 阅读 · 7 评论 -
STM32CubeIDE HAL库函数操作RTC实时时钟 及 定时闹钟中断
目录一、MX配置二、软件生成的关键代码三、用户代码附:回调函数的配置方法一、MX配置1.设置LSE2.配置RTC- 激活时钟源-激活日历-配置2020年2月3日09:40:0 (HAL库的年份从2000年开始计算,Year变量可以填写0至99的数)3.使能闹钟中断(本人使用的是STM32F103C8T6,貌似没有带唤醒的中断,L1和...原创 2020-02-03 21:25:00 · 20359 阅读 · 10 评论 -
STM32CubeIDE HAL库实现基本定时器及PWM
一、MX的配置通用定时器设置,选择时钟源为内部时钟,预分频7200得到10KHz的计数频率(以系统时钟72MHz为例),计数重装值为5000-1,则每0.5s会从0计数到4999产生一次更新。开启更新中断响应,即可利用中断每隔0.5s执行相应任务。下图为中断配置:TIM1和TIM8为高级定时器,这里我们只用到了更新中断。利用TIM2产生PWM在对应引脚输出的配置:预分频...原创 2020-02-02 10:49:51 · 10958 阅读 · 4 评论 -
STM32CubeIDE HAL库微秒us的延时Delay实现
HAL库和LL库都没有自带的微秒级延时,但是修改SysTick的配置会影响其他部分。经过几天的实验,浏览了不少资料,分享以下三种延时方法。一、利用定时器实现微秒延时1.MX配置2. <tim.c>/* USER CODE BEGIN 1 */void delayXus(uint32_t us){ (&htim3)->Instance->...原创 2020-01-28 22:06:45 · 37152 阅读 · 10 评论 -
STM32CubeIDE ADC 单次转换模式
目录一、先贴三张官方文档的截图二、整理一下流程三、CubeMX的配置四、代码生成及分布五、需要用户自己添加的代码附:官方例程一、先贴三张官方文档的截图翻译一下大概的意思:1)顶层参数配置 a.ADC的时钟不能高于14MHz b.可用HAL_ADC_MspInit()使能时钟 c.时钟源选择、时钟分频配置。2)基...原创 2020-01-21 17:57:37 · 2894 阅读 · 0 评论 -
详解STM32CubeIDE 中 HAL库的串口中断接收函数 HAL_UART_Receive_IT
MX串口配置方法见:CubeIDE 利用自带HAL库 串口收发一、代码自动生成以后的项目及代码结构:main.c中,调用了串口初始化串口初始化函数赋值了串口的参数相当于底层的初始化,配置引脚、并开启中断。至此串口1配置完毕二、库文件stm32f1xx_hal_uart.c内的秘密2.1初始化1.usart.c中,MX_USART1_U...原创 2019-12-30 15:39:42 · 62239 阅读 · 12 评论 -
STM32CubeIDE 利用自带HAL库 串口收发
一、MX的配置1.选择需要用的串口,模式Asynchronous,修改波特率为115200;其他值默认即可。2.配置中断:2位抢占优先级,2位优先级;全局中断使能勾上。另:最好设置一下不同外设单独C文件二、案例1(以 0x0d 0x0a结尾的开源原子的做法)2.1 <usart.c>uint8_t aRxBuffer[1];ui...原创 2019-12-30 14:11:16 · 14188 阅读 · 3 评论