草庐IT

毕业设计 stm32智能语音垃圾分类系统(项目开源)

文章目录1简介2绪论2.1课题背景与目的3系统设计3.1系统架构3.2硬件部分3.2.1传感器模块3.2.2语音模块3.2.3电机及其驱动模块3.2.4稳压模块3.3软件部分3.3.1自动翻盖子程序设计3.4实现效果3.5部分相关代码4最后1简介Hi,大家好,这里是丹成学长,今天向大家介绍一个单片机项目毕业设计stm32智能语音垃圾分类系统(项目开源)大家可用于课程设计或毕业设计🧿项目分享:https://gitee.com/sinonfin/sharing2绪论2.1课题背景与目的学长设计的系统主要使用stm32单片机为基础设计并开发一个智能垃圾桶系统。该系统实现智能开盖,垃圾装满语音报警的

STM32_HAL库串口接收相关函数分析

STM32_HAL库串口接收相关函数分析:串口接收的程序整体分为三个部分:初始化部分,开启中断部分,中断函数部分:初始化部分:该部分主要完成相关引脚的初始化,串口的初始化(设置波特率,校验位,字长等),为了逻辑清晰,把初始化相关代码放在本文的最后。开启中断部分:调用HAL_UART_Receive_IT函数,开启中断,这个函数原型如下:HAL_StatusTypeDefHAL_UART_Receive_IT(UART_HandleTypeDef*huart,uint8_t*pData,uint16_tSize)第一个参数是串口句柄,第二个参数指向自定义的接收缓冲数组,第三个参数很重要,它的值被

STM32-微项目10-ADC多通道采集+DMA数据转移

一、微项目实现目标:由于ADC多通道采集在规则组中只有一个寄存器CR,实际上在多通道采集时刻,需要把每一个同都的数据及时传出,否则上一个通道的数据会被当前通道的数据给覆盖掉。二、微项目硬件配置需求: stm32F103C8T6核心板一块0.96寸OLED显示,用于显示计数三、前置知识:1,传输数据流:外部GPIO采集----ADC转化执行-----存放到CR寄存器中-----触发DMA转移信号----DMA硬件触发开始转移数据-----从外设寄存器DR转移到SRAM的数组中2,四、代码逻辑分析:①启动GPIO时钟、启动DMA1时钟、启动ADC1时钟(由于ADC最大14MHZ,还需要进行一次分频

FPGA与STM32之间的UART通信实验

目录1.UART串口介绍2.实验任务3.FPGA代码4.STM32代码5.总结1.UART串口介绍        UART是一种采用异步串行方式的通用异步收发传输器,在发送数据时将并行数据转换成串行数据来传输,在接收数据时将接收到的串行数据转换成并行数据。        UART串口通信需要两根信号线来实现,一根用于串口发送,另一根负责串口接收。        UART的一帧数据由4部分组成:起始位、数据位、奇偶校验位和停止位。起始位标志着一帧数据的开始,低电平有效;数据位代表一帧数据中的有效数据;校验位分为奇校验和偶校验检测数据是否出错;在空闲状态下总线处于高电平。        UART通

学习素材之USART篇——通过使用STM32与ESP8266(esp-01s)连接阿里云系列操作来了解USART协议和寄存器操作

内容通过使用STM32与ESP8266(esp-01s)连接阿里云系列操作来了解USART协议和寄存器操作目录USART详解一、串口通讯协议简介串口通讯的物理层串口通讯的协议层二、STM32的USART简介USART功能概述功能引脚三、与USART有关的寄存器USART寄存器地址映像 四、USART寄存器描述1、USART状态控制器(USART_SR)2、数据寄存器(USART_DR)3、波特比率寄存器(USART_BRR)4、控制寄存器1(USART_CR1)5、控制寄存器2(USART_CR2)6、控制寄存器3(USART_CR3)五、使用寄存器来配置USART数据寄存器控制器发送器接收器

【stm32c8t6多个串口同时使用】

【stm32c8t6多个串口使用】最近做的一个小项目会同时用到多个串口,不同串口连接不同外设根据不同控制指令来执行相应的功能(wifi、语音等)如何同时进行不同串口之间的配置原理和配置单个串口相同,下面就以三个串口中断分别来进行LED的控制,后面根据自己的需求将串口接在不同的外设上面就好了。stm32c8t6上面可以使用很多串口,通常没有经过重映射的引脚有三组串口USART1------>TX(PA9)RX(PA10)USART2------>TX(A2)RX(A3)USART3------>TX(PB10)RX(PB11)下面所配置的串口就是这三组串口下面是进行端口映射可以配置的串口引脚,可

STM32F4 HAL库使用DMA进行ADC采样实时发送波形到串口显示(包含傅里叶变换)

1.总体逻辑按下STM32F4的KEY0按键,通过外部中断的方式对按键进行检测,然后进行一次固定点数的DMAADC采集,采集完成后在DMA的中断发送采集到的数据,然后清空数据区准备下一次的按键中断。电脑接受到串口数据后对数据进行简单处理和傅里叶变化,然后实时显示在电脑上。开发板:正点原子探索者STM32F407ZG2.STM32源工程文件可以拿着正点原子的官方例程的单通道ADC采集(DMA读取)实验进行修改这里只展示部分重要代码2.1外部中断处理函数打开exti.c文件,修改为以下的代码。删掉了冗余的代码,在KEY0按下后的逻辑中加入了adc_dma_enable(ADC_DMA_BUF_SI

STM32——STM32F401x系列标准库的下载+环境搭建+建工程步骤(更完整)

文章目录标准库的下载环境搭建+建工程最后的话标准库的下载1.STM32标准库的官网下载网站https://www.st.com/content/st_com/en.html2.3.4.5.6.7.点击之后下滑8.选择自己需要的版本下载环境搭建+建工程大致步骤同之前我写的一篇STM32——建工程差不多,但是当时是现成的标准库文件,芯片是STM32F103系列的,下面我重写一次,芯片为STM32F401X,当然本篇文章几乎适用所有芯片1.代码移植,根据习惯创建以下文件夹2.自己路径\2.环境搭建\标准库文件\STM32F4xx_DSP_StdPeriph_Lib_V1.9.0\Libraries\

STM32F103屏蔽JTAG/SWD 以及PC13,PC14,PC15的RTC晶振禁用。

STM32F103屏蔽JTAG/SWD以及PC13,PC14,PC15的RTC晶振禁用1.关于JTAG/SWD屏蔽2.PC13,PC14,PC15的RTC晶振屏蔽1.关于JTAG/SWD屏蔽STM32F103系列上的一些IO口在标准库上想要做成普通IO口时的配置。通过芯片手册JTAG/SWD的管脚PB3,PB4,PA13,PA14,PA15。根据上面的图时JTAG/SWD下载调试的几个I/O口对与做成普通I/O需要禁用下载调试功能才可设置成普通的I/O来控制。标准库里在配置I/O口的时候,有配置到PA13,PA14,PA15,PB3,PB4时可以根据你所需要情况来屏蔽相对应的管脚JTAG/SW

STM32F103 内部FLASH读写擦操作

内部flash介绍开发步骤(1)解锁和锁定前面我们介绍了在对FLASH进行写操作前必须先解锁,解锁操作也就是必须在FLASH_KEYR寄存器写入特定的序列(0X45670123和0XCDEF89AB),固件库提供了一个解锁函数,其实就是封装了对FLASH_KEYR寄存器的操作。解锁库函数是:voidFLASH_Unlock(void);在对FLASH写操作完成之后,我们要锁定FLASH,使用的库函数是:voidFLASH_Lock(void);(2)写操作FLASH解锁后,我们就可以开始写操作,固件库内提供了3个FLASH写函数:FLASH_StatusFLASH_ProgramWord(ui