草庐IT

HAL_NVIC_SetPriority

全部标签

android - Thread.setPriority() 和 android.os.Process.setThreadPriority() 有什么区别

如果我有这样的代码:Runnabler=...;Threadthread=newThread(r);thread.setPriority((Thread.MAX_PRIORITY+Thread.NORM_PRIORITY)/2);或者...Runnabler=...Threadthread=newThread(newRunnable(){publicvoidrun(){android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_MORE_FAVORABLE);r.run();}});是需要/首选的and

【STM32+cubemx】0029 HAL库开发:HMC5883L磁力计的应用(电子指南针)

今天我们来学习电子磁力计HMC5883L的使用。先介绍磁力计的基础知识,再给一个获取磁力计数据的例子,最后讲解HMC5883L磁力计的校准,以及一些使用中的经验。1)HMC5883L磁力计的基础知识磁力计是用来测量磁场强弱(也就是磁感应强度)的,磁感应强度是一个矢量,我们本篇使用的HMC5883L可以用来测量三个轴向的磁感应强度。磁感应强度的标准单位是特斯拉(Tesla),也有用高斯(Gauss)来表示的,换算关系是1Tesla=10000Gauss。当垂直于磁场方向长度为1m的导体,通过1A电流时,所受磁场的作用力的大小为1N,则该磁场的磁感应强度为1T。磁力计可以用来检测地球磁场方向,也就

stm32直流电机PID控制hal库(Cubemx)

stm32直流电机PID控制hal库(Cubemx),一步步手把手教你怎么配置cubemx怎么写代码。未对pid就行深入解析,不过相信您通过配置和写代码以后大概可以知道pid的主要作用。文章目录前言一、进行pwm输出和相关引脚的配置1.PWM输出配置2.电机控制引脚配置3.用户代码文件编写二、通过encoder来获取当前转速1.编码器encouder配置2.定时器中断配置3.串口发送配置4.霍尔编码器输出说明5.用户代码编写三、PI控制速度1.简单验证并调试2.实现电机的正反转再次修改it.c文件中的中断服务函数修改control.c文件如下:(齐全代码):3.通过上位机打印波形四、pid控制

STM32 HAL库函数学习 I2C篇

本篇内容讲述STM32的硬件IIC功能。硬件IIC的使用在F1系列上可能会有问题。本次使用的测试平台是H7,用于AT24C02芯片的读写正常,暂不清楚在其他芯片上使用是否正常。1、HAL_StatusTypeDefHAL_I2C_Init(I2C_HandleTypeDef*hi2c)I2C_HandleTypeDefhi2c2;/*I2C2initfunction*/voidMX_I2C2_Init(void){hi2c2.Instance=I2C2;hi2c2.Init.Timing=0x00707CBB;hi2c2.Init.OwnAddress1=0;hi2c2.Init.Addres

HAL库 ADC超详细(查询、中断、DAM)

一、ADC的三种工作方式及优缺点1.查询模式:查询模式下,占用CUP时间较多,cup效率较低。2.中断模式:相比查询模式大大释放了cup,提高了cup的利用率。3.DMA模式:该模式下基本不占用cup,能直接将ADC采集的数据存储到存储器。二、ADC的转换方式   转换方式需要根据情况搭配使用,分为扫描模式(ScanConversionmode)、连续转换模式(ContinuousConversionMode)和间断模式(DiscontinuousConversionMode)。ADC单通道转换: “单次转换模式,扫描模式关闭”:只进行一次转换,不过可以持续使能ADC达到不断采集的的。  “连

STM32G431RB--基于HAL库(第十三届蓝桥杯嵌入式省赛真题解析)

文章目录前言一、CubeMX配置(第十三届省赛完整版)二、代码相关定义、声明1.函数声明2.宏定义3.变量定义三、主要函数1.按键扫描2.数据更新3.判断密码4.密码修改5.切换PWM6.Main函数四、实验结果五、源码(转载请注明出处)总结前言相关说明:开发板:CT117E-M4(STM32G431RB蓝桥杯嵌入式比赛板)开发环境:CubeMX+Keil5涉及题目:第十三届蓝桥杯嵌入式省赛真题题目难点:可能会遇到的LED与LCD冲突,切换PWM输出频率,LCD显示输出信号频率以及占空比,串口数据判别,定时器的运用,密码锁设计逻辑。总体思路:LCD初始显示密码为@,每次KEY1、2、3按下数字

【STM32CubeMX+HAL库】I2C详解+读写EEPROM

在之前的标准库中,STM32的硬件IIC非常复杂,更重要的是它并不稳定,所以都不推荐使用。但是在我们的HAL库中,对硬件IIC做了全新的优化,使得之前软件IIC几百行代码,在HAL库中,只需要寥寥几行就可以完成 那么这篇文章将带你去感受下它的优异之处。本文将详细地讲解I2C协议,并基于I2C来读写EEPROM模块以达到练习的目的通过本篇博客您将学到:I2C的基本原理STM32CubeMX创建I2C例程I2C函数库(HAL)AT24C256芯片原理及读写方法I2C简介 IIC(Inter-Integrated Circuit)总线是一种由NXP(原PHILIPS)公司开发的两线式串行总线,用于连

STM32F1系列HAL库开发——RTC实时时钟

RTC简介实时时钟(RealTimeClock,RTC),是一个可以不使用系统主电源供电的定时器。在系统主电源断开的情况下,依靠纽扣电池供电继续计时,只要都VBAT不断,都不影响RTC正常工作,只有当系统电源VDD和纽扣电池VBAT都断开时,RTC才停止工作。RTC的时钟源有三个。第一个由外部高速时钟源(HSE)经过128分频得到,第二个来自外部低速时钟源(LSE),第三个来自内部低速时钟源(LSI)。只有LSE在系统主电源掉电时,可以由VBAT供电,因此如果想RTC在主电源掉电也能运行,只能选择LSE提供时钟。外部低速时钟(LSE)的晶振频率为32.768KHz,经过2^15=32768分频

WS2812B彩灯 STM32HAL库开发:PWM+DMA(stm32f103c8t6)

目录一、摘要二、WS2812B介绍三、CUBEMX配置四、程序介绍(KEIL编译器)五、数据手册一、摘要    1、本文使用示例单片机型号为stm32f103c8t6,RGB型号为WS2812B;        2、主要实现功能是实现用PWM+DMA使RGB_LED亮起不同颜色的灯光;        3、目的:简单调通该型号RGB_LED,方便后续改编使用,希望各位读者可以依次做出更炫酷的效果。为了便于更好理解数据手册和单片机配置的关联,第二部分也放入了CUBEMX的部分配置图片    4、优点:DMA转运,硬件自动数据搬运(由内存到外设),减少CPU资源占用,第一次使用DMA可以先大致看一下

STM32 HAL库-定时器中断

STM32HAL库-定时器中断STM32关闭所有中断一、STM32F407定时器介绍定时器计算公式二、CubeMX配置定时器三、基本定时器中断配置流程1)开启定时器时钟2)初始化定时器参数,设置自动重装值,分频系数,计数方式等3)使能定时器更新中断,开启定时器计数,配置定时器中断优先级4)编写中断服务函数(主要是重写回调函数,覆盖原来的)注意:四、参考资料1HAL库的中断处理1.1HAL库的中断封装1.2外部中断处理流程五、示例STM32关闭所有中断关闭或开启所有中断;代码如下:__set_PRIMASK(1);//关总中断__set_PRIMASK(0);//开总中断一、STM32F407定