草庐IT

STM32【十进制-十六进制转换】无需for循环等复杂函数

STM32【十进制-十六进制转换】无需for循环等复杂函数任务代码输出解释之前做项目用到这个功能,也把网上的许多例程都跑了一遍,看到一些复杂的函数也是很头疼,一些方法都是需要用sprintf来操作,但在这里并不适用,最后小鱼君询问chatgpt直接解决问题。任务由于用到了DWIN串口屏,所以需要将一个三位数的十进制变量转化为十六进制去输出。举个例子,如果我要在屏幕上显示46.1,那么我需要发送的数据就是(HEX)461,这个很容易就能解决,但是问题总是多变的,首先用过强制转换,未果,其次用过定义外置函数,未果。最后求助chatgpt多次后得出了结果。废话不说直接看代码:代码#includein

基于STM32+DAC+DMA和AD9850的波形发生器

基于STM32+DAC+DMA和AD9850的波形发生器试验目的一、通过STM32单片机DAC+DMA产生频率可调正弦波、三角波、锯齿波、方波。二、使用STM32驱动AD9850波形发生模块产生正弦波和方波。一、AD9850/AD9851的简介AD9850/AD9851模块是采用ADI应用最广泛的DDS(AD9850和AD9851)制作的模块。主要功能特点:模块能够输出正弦波和方波,2个正弦波和2个方波输出。 AD9850:0-40MHz AD9851:0-70MHz 频率在20-30MHz后谐波越来越大,波形会越来越不干净。 方波:0-1MHz采用70MHz的低通滤波器,使波形的SN比更好比

STM32H5开发(4)----开发板介绍

STM32H5开发----4.开发板介绍套件概述样品申请特征系统控制和生态系统访问功能示意图系统框图跳线设置开发板原理图套件概述STM32H503RBTx_LQFP64是STM32H5系列微控制器的一款出色评估套件,它采用了先进的40nm工艺制造,为开发者提供了卓越的性能和能效。主频高达250MHz的Arm®Cortex®-M33内核使其处理能力非常强大,可以轻松应对各种复杂的计算和任务。这个评估套件在存储方面同样表现优异,拥有128kBFlash存储器,以及32kB的SRAM,这为开发者提供了充足的内存资源,存储大量代码和数据,满足各种应用需求。其64个引脚的LQFP封装设计使其兼容H5-2

stm32内部时钟定时器

1、总体介绍TIM(Timer)定时器是STM32中功能最强大,结构最复杂的一个外设,以下对其做一下简介(以stm32为例):TIM可以对输入的时钟进行计数,并在数值达到设定值时触发中断。在STM32中定时器的基准时钟一般都是主频72MHz,并且以16位计数器,预分频器,自动重装寄存器为时基单元,在72MHz计数时钟下可以实现最大59.65s的定时。同时STM32定时器支持级联模式,可实现更长时间的定时。(当两个定时器级联时就可产生8千年多的定时)TIM不仅具备基本的定时中断功能,而且还包括内外时钟源选择,输入捕获,输出比较,编码器接口,主从触发模式等多种功能。STM32的定时器,根据复杂程度

STM32定时器捕获编码器模式测速和方向测不准问题

**STM32定时器捕获编码器模式测速和方向测不准问题问题概述关于STM32编码器模式电机测速的资料网上一抓一大把,却发现真的拿过来用还是有问题的,比如刚刚做了个东西,是个个头比较大的麦克纳姆轮车,控制运动就需要精确的测量转速和方向,我用的是直流有刷、减速比90、11线霍尔编码器的减速电机。原本想着用个定时器的编码器模式直接把速度和方向读回来多省事,后面花点时间去调PID,然而问题来了,编码器我知道,定时器编码器模式我也知道,但是凑在一起就是不好好工作我就知道为什么了。问题表现是什么样的呢:接法是这样的,我用的STM32F103,TIM2、3、4、5的CH1、2分别接四个直流电机霍尔编码器的A

STM32速成笔记—RTC

文章目录一、RTC简介二、STM32的RTC2.1主要特性2.2RTC框图介绍三、访问后备区域步骤四、RTC配置步骤五、RTC程序配置5.1RTC结构体定义5.2RTC初始化函数5.3设置年月日,时分秒5.4判断闰年函数5.5获取当前年月日,时分秒5.6获取星期几5.7中断服务函数六、拓展一、RTC简介RTC(RealTimeClock)实时时钟,它是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置都是在后备区域,无论单片机处于何种状态,只要保证后备区正常供电,RTC就会一直工作。

基于STM32的智能家居系统设计

目录第1章前言11.1课题研究的背景和实际意义11.1.1课题背景11.1.2实际意义11.2国内外发展现状、存在问题以及前景21.2.1发展现状21.2.2存在问题21.2.3发展前景21.3主要工作、内容安排及预期成果31.3.1主要研究工作31.3.2预期成果3第2章总体设计方案52.1系统总体方案设计52.2系统方案选择62.2.1无线通讯方案选择62.2.2显示器方案选择6第3章系统硬件设计73.1控制单元模块73.2人机交互模块83.3GPRS电路设计93.4温湿度传感器电路设计103.5光强检测电路设计103.6窗帘控制电路设计113.6.1步进电机的选用113.6.2步进电机2

STM32f1之L298N电机驱动+PWM调速(附主代码)

前言今天这里主要是讲一下L298N电机驱动和PWM调速,之后再进行一番实际操作,那么废话不多说,直接进入主题。一、L298N电机驱动主要介绍主要I/O口使能端ENA和ENB,控制输入端INA、INB、INC、IND,马达输出口OUT1、OUT2、OUT3、OUT4,5V输出(可以不接),还有一个板载5V电压,具体如下图所示:  二、控制实现功能对于L298N模块,直接给12V输入,接上地,就可以给整个模块供电了,之后就是通过控制单片机(这里用的是STM32f1)给4个输入端(INA、INB、INC、IND)控制输入高低电平了注意:ENA和ENB一般情况下会有两个跳线帽连着,这是直接连上高电平,

从零开始写STM32平衡小车代码,从0到1

从零开始写STM32平衡小车代码,从0到1教你从零开始写STM32平衡小车代码前言:本人也是学生,只是分享一下自己的设计思路与代码教学。这次STM32平衡小车是基于STM32CubeMX软件生成HAL库代码编写。第一部分:前期准备这部分主要是关于组装基本平衡小车需要的零件1.小车车架以及电机固定架轮子和联轴器(我是通过淘宝上购买的)2.带有编码器的直流电机3.直流电机驱动电路(也可以通过网上购买推荐大鱼电子的电机驱动价格:30+)4.一个STM32最小系统板(本人芯片型号为STM32F103ZET6)5.一个陀螺仪随意型号可以买贵一点的这样数据不会很多毛刺,如果要节约成本就需要自己进行滤波优化

STM32笔记之PWM输出,调节频率及占空比

 以STM32F103C8T6使用TIM1的CH1,CH4同时输出两路PWM为例:引脚定时器通道PA8TIM1CH1PA11TIM1CH4步骤:GPIO_InitTypeDefGPIO_InitStruct;//GPIO初始化结构体 TIM_TimeBaseInitTypeDefTIM_TimeBaseInitStruct;//定时器初始化结构体 TIM_OCInitTypeDefTIM_OCInitStruct; //定时器通道初始化结构体1.开启时钟:同时打开GPIOA,TIM1,复用时钟。RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC