草庐IT

【STM32】HAL库自学记录-旋转编码器的使用

STM32HAL库自学记录-旋转编码器的使用前言使用工具旋转编码器原理介绍方法一定时器中断方式(实质就是外部中断)方法二定时器方式前言通过本文可学会两种实现判断旋转编码器正转反转的方法,可根据自己的应用场景来选择使用哪种方法。使用工具1、芯片:STM32F103RCT62、STM32CubeMx软件3、IDE:MDK-Keil软件4、旋转编码器模块5、XCOMV1.4串口软件旋转编码器原理介绍图中C端为GND。方向:A相和B相相差一个相位,一般来说是90°。A相信号在前表示正转,B相信号在前表示反转。上图是模块的原理图,实物图如下:方法一定时器中断方式(实质就是外部中断)cubeMX配置:首先

STM32 SPI学习

SPI串行外设设备接口(SerialPeripheralInterface),是一种高速的,全双工,同步的通信总线。SCK时钟信号由主机发出。SPI接口主要应用在存储芯片。SPI相关引脚:MOSI(输出数据线)、MISO(输入数据线)、SCK(时钟)、NSS(片选)。数据发送和接收:与缓冲区、移位寄存器以及引脚相关。时钟信号:SPI时钟信号通过SPI_CR1寄存器配置。主控制逻辑:涉及两个控制寄存器SPI_CR1/2用于配置SPI工作,SPI_SR用于查看工作状态。使用软件管理NSS,硬件上的NSS引脚就可以另做他用,通过SSM、SSI来控制电平。主机NSS拉高,从机NSS低电平有效。SPI外

心跳跟随的心形灯(STM32(HAL)+WS2812+MAX30102)

文章目录前言介绍系统框架原项目地址本项目开发开源地址硬件PCB软件功能详细内容硬件外壳制作WS2812级联及控制MAX30102血氧传感器0.96OLEDFreeRTOS效果视频总结前言在好几年前,我好像就看到了焊武帝jiripraus在纪念结婚五周年时,制作的一个心跳跟随心形灯,感觉太浪漫了,于是在假期的时候,我也仿照做了一个,虽然还有很多需要完善的地方,但是大致功能已经实现了,下面开源讲讲开源的项目。介绍系统框架心脏的外壳采用紫铜丝或黄铜丝焊接,1mm的铜丝较硬,适合完成外部框架的搭建,0.7mm的铜丝可塑性较好,适合焊接内部的WS2812,整个过程中吗,焊接难度较大,电子器件的固定难度也

STM32——MCU简单介绍

文章目录一、单片机基础简介1.MCU简介(1)MCU的组成(2)常见的MCU2.STM32简介(1)STM32&STM8产品型号--各个字母的含义3.如何查手册(1)数据手册·芯片信息·总线框图·时钟树·内存映射(2)参考手册(3)芯片选型手册4.MCU最小电路环境(1)供电:提供给MCU工作的电源(2)复位:复位键未点击,RESET为高电平,点击为低电平(3)时钟:高速晶振8MHZ,低速晶振32.768KHZ(4)下载电路:向单片机烧录程序的电路5.STM32开发的几种方式一、单片机基础简介本篇文章仅作为作者个人笔记使用以及帮助有需要的人,不作权威性使用。1.MCU简介mcu目前的使用广泛,

【LVGL】STM32F103ZET6——LVGL_GUI_GUIDER移植过程成功

STM32F103ZET6——LVGL_GUI_GUIDER移植过程文章目录前言一、LVGL1.github找LVGL库2.硬件准备:STM32F103ZET6+2.8寸触摸屏3.软件准备:正点原子触摸屏例程4.移植LVGL二、GUI_GUIDER1.下载GUI_GUIDER2.创建文件(注意分辨率是240*320)三、GUI_GUIDER移植文件到keil51.找出GUI_GUIDER编译后的文件2.复制所需文件到keil53.keil添加.c和.h文件4.keil5代码增添总结前言STM32F103ZET6——LVGL_GUI_GUIDER移植过程使用工具:1.LVGL库8.022.GUI

基于STM32F103C8T6的高速DMA传输多通道ADC数据

文章目录前言一、软件设计思路二、代码总结前言ADC在STM32系列单片机的使用中占用着很大的比例,常见的案例是通过ADC单次转换电压值,这种方式的缺陷在于转换效率不高。一般的单片机带有ADC1和ADC2两个ADC转换,单次转换需要执行一定的程序,想得到结果需要耗费一些时间在赋值,调用中断上面。在此基础上,为了提高转换的效率,借用单片机内部自带的DMA传输单元,可以直接越过CPU指令,将数据传送到我们所定义的寄存单元内部,这样我们需要查看检测的电压数据时,只需要直接访问存储数组即可。一、软件设计思路整体的软件设计思路分为两个大的环节:初始化ADC和开启高速DMA数据传输。在本次实验中,选用ADC

在MDK调试STM32出现“could not stop cortex-m device”软件解决办法

在MDK调试STM32出现“couldnotstopcortex-mdevice…”软件解决办法这个问题出现的原因很多,答案最多的都是硬件或配置原因,总结为:1.BOOT0和BOOT1的接法;2.NRST引脚在开机过程出现低电平导致片子处于在reset状态;3.或者是编译选项里你没选器件,或者是下载选项里没选器件;4.主频超频了;5.编辑器版本原因;6.调试过程没关闭看门狗。软件原因在进行GD32F10x芯片远程升级APP调试时,需要将Bootloader和Applictaion分两段位置0x08000000和0x08004000进行存储,依次执行。在程序移植后,暂时不需要Boorloader

STM32对I/O的3种操作方式

对于单片机STM32来说以stm32F103zet6而言:STM32F103ZET6有144个引脚,其中包括了112个I/O口,分为7组,每组16个I/O接口;GPIOA—GPIOG共7组;PA0----PA15共16个I/O口;依次类推;GPIO的工作方式:分为两类第一种:4种输入模式:输入浮空,输入上拉,输入下拉,模拟输入;第二种:4种输出模式:开漏输出,开漏复用功能,推挽式输出,推挽式复用功能;GPIO的3种最大翻转速度:2Mhz,10Mhz;50Mhz;输入浮空模式:可以用来读取外部高低电平的值。输入上拉模式:读取电平值时上拉电阻接通。输入下拉模式:读取电平值时下拉电阻接通。模拟输入模

STM32-微项目08-ADC单通道/多通道模式采集

huo一、微项目实现目标:1,利用STM32内置的ADC模块,将外部模拟量信号(0-3.3v)转化成12位有效(16位数据)的数字量(0-4095),在将采集的数字除4095,就会得到对应采集的模拟量信号;二、微项目硬件配置需求: stm32F103C8T6核心板一块;0.96寸OLED显示,用于显示计数;模拟量输入(滑动电阻、光线传感器、温度传感器等),接线时刻,需要接AO输出口; 三、前置知识:1,逐次逼近型ADC的处理逻辑在外部有模拟量输入时,DAC设置参数并输出模拟量,对比模拟量数据和输入的模拟量相近或相等时刻,则配置输出的DAC的数字量参数,就是输入模拟量的对应转化后的数字量; 2,

【OpenMV学习笔记(一)】识别色块并与STM通信传输中心坐标

目录1.前言2.硬件连接3.代码4.查看结果5.总结1.前言一直有想要写些东西的想法正好最近比较闲以及大创项目和电赛备赛需要用到OpenMV所以就记录一下学习过程。因为小白第一次写文章有什么错误希望大家包含在评论区指正。2.硬件连接2.1、Openmv端这里OpenMV端仅作为数据的发送端,所以只需要共地,以及OpenMV的TX(P4)与开发板的RX端连接即可。2.2、STM32端将开发板连接STM芯片RX端与转串口TX端的跳帽取下,再将OpenMV的TX端(P4)与STM的RX连接。如果使用USB转TTL则将TTL的RX端与STM的TX端连接,STM的RX端与OpenMV的TX端(P4)连接