草庐IT

STM32CubeMX学习笔记(50)——USB接口使用(DFU固件升级)

一、USB简介USB(UniversalSerialBUS)通用串行总线,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的。USB发展到现在已经有USB1.0/1.1/2.0/3.0等多个版本。目前用的最多的就是USB1.1和USB2.0,USB3.0目前已经开始普及。STM32F103自带的USB符合USB2.0规范,不过STM32F103的USB都只能用来做设备,而不能用作主机。标准USB共四根线组成,除VCC/GND外,另外为D

ZIGBEE协议栈通信——阿里云上传数据(STM32)(一)

ZIGBEE协议栈介绍Zigbee是一种低功耗、低成本的无线通信协议,特别适用于物联网设备之间的通信。Zigbee协议栈是一组硬件和软件层级结构,用于支持Zigbee设备之间的通信。Zigbee协议栈通常由以下几个层级组成:1.物理层(PhysicalLayer):负责处理物理无线通信的细节,例如频率、功率控制和数据传输速率等。物理层使用的是2.4GHz频段,并支持多种调制方式。2.媒介接入控制层(MediumAccessControl,MAC):负责管理通信介质的访问,以便多个设备可以按照一定的规则共享通信介质。MAC层处理一些基本的网络控制功能,例如设备的寻址、帧结构定义和冲突避免。3.网

CRC原理介绍及STM32 CRC外设的使用

1.CRC简介循环冗余校验(英语:Cyclicredundancycheck,简称CRC),由W.WesleyPeterson于1961年首次提出的一种纠错码理论。CRC是一种数据纠错方法,主要应用于数据通信或者数据存储的场合,用来检测或校验数据传输或者数据存储后可能出现的错误,特别是擅长检测由传输通道中的噪声引起的常见错误。CRC是数据通信领域中最流行的一种错误检测方法,传输过程中的数据信息字段长度,以及校验码的字段长度可以任意自定义的指定,但是通信双方必须使用同一标准的CRC校验。2.CRC模型及其相关概念很多大佬们在研究CRC算法的时候,设计了各种CRC的算法模型,这些模型可以适用不同的

STM32--中断使用(超详细!)

写在前面:前面的学习中,我们接触了STM32的第一个外设GPIO,这也是最常用的一个外设;而除了GPIO外,中断也是一个十分重要且常用的外设;只有掌握了中断,再处理程序时才能掌握好解决实际问题的逻辑思路。此节我们学习STM32的中断;  在前面51的学习中,我们也介绍过中断的内容,但是相对于32来说,52的中断十分简单,只有5个中断源,中断的优先级,响应函数也是比较简单的,感兴趣的读者可以看一下下面的这篇博客。CSDNhttps://mp.csdn.net/mp_blog/creation/editor/133904885目录一、什么是中断二、NVIC(中断管家)2.1NVIC基本概念2.2N

STM32 DAC+串口

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、DAC是什么?二、STM32DAC1.什么型号有DAC2.简介3.主要特点4.DAC框图5.DAC电压范围和引脚三、程序步骤1.开启DAC时钟2.配置引脚PA4PA5模拟输入3.初始化DAC5.使能DAC6.写入数字电压7.触发转换8测试结果四、加入串口互动1.定义发送字符格式:方案1比较符合人性方案2,用mv输出,没有小数,提取会更简单2.获取字符串3.解释字符串总结前言提示:这里可以添加本文要记录的大概内容:前面学习了STM32的ADC,掌握了模拟信号如何转化成数字信号,现在学习如何将数字信号转换成模拟信号。目

STM32启动过程

STM32启动模式(自举模式)M3/3/7等内核,复位后做的第一件事:从地址0x00000000处取出栈指针MSP的初始值,该值就是栈顶地址。从地址0x00000004处取出程序计数器指针PC的初始值,该值是复位向量。芯片厂商会把0x00000000和0x00000004地址映射到其它的地址。在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。STM32启动过程(内部FLASH启动)初始化MSP:从0x08000000获取初始化PC:从0x08000004获取设置堆栈大小:Heap_Size(堆)、Stack_Size(栈)初始化中断向量表:__Vectors定义调用初始化函数

STM32串口错误中断导致死机现象

在对STM32调试中,使用上位机串口调试助手给节点发送命令,误将校验方式选择为无校验,而节点的串口初始化为偶校验方式接收数据,但使用串口工具发送无校验数据时,节点立即死机无反应,最终看门狗复位使用jlink在线跟踪调试,发现程序未进入HardFault_Handler异常中断,在收到无校验的数据后,节点立即不停的循环进入串口中断处理程序,最终导致看门狗复位。按照常规流程,通过MDK在线调试工具观察串口USART_CR1与USART_ISR寄存器的值;发现USART_CR1寄存器的PEIE置位,即将校验错误中断使能,同时串口中断状态寄存器USART_ISR的PE位置位,所以产生中断,但我的中断处

毕业设计 STM32老人防摔倒报警系统 - 物联网 嵌入式 单片机

文章目录0前言1整体设计2硬件电路3软件设计4跌倒检测算法5关键代码6最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是🚩stm32老人跌倒检测预防系统🥇学长这里给一个题目综合评分(每项满分5分)难度系数:3分工作量:4分创新点:4分1整体设计学长以STM32F103C8T6为中央处理器,GPS模块用获取当前老人位置,通过DS18B20和心率传感器采集当前人体健康信息,利用ADXL345

普冉PY32系列(十四) 从XL2400迁移到XL2400P

目录普冉PY32系列(一)PY32F0系列32位CortexM0+MCU简介普冉PY32系列(二)UbuntuGCCToolchain和VSCode开发环境普冉PY32系列(三)PY32F002A资源实测-这个型号不简单普冉PY32系列(四)PY32F002A/003/030的时钟设置普冉PY32系列(五)使用JLinkRTT代替串口输出日志普冉PY32系列(六)通过I2C接口驱动PCF8574扩展的1602LCD普冉PY32系列(七)SOP8,SOP10,SOP16封装的PY32F002A/PY32F003管脚复用普冉PY32系列(八)GPIO模拟和硬件SPI方式驱动无线收发芯片XN297L

STM32 HAL库定时器输入捕获SlaveMode脉宽测量

STM32HAL库定时器输入捕获SlaveMode脉宽测量📓SlaveMode模式简介✨SlaveMode复位模式:在发生一个触发输入事件时,计数器和它的预分频器能够重新被初始化;同时,如果TIMx_CR1寄存器的URS位为低,还会产生一个更新事件UEV;然后所有的预装载寄存器(TIMx_ARR,TIMx_CCRx)都会被更新。🔖当所测频率低于最小定时器捕获频率时,需要使能自动重装载和定时器溢出中断。SlaveMode模式下当输入捕获引脚接收到脉冲的上降沿信号时,产生复位并从零开始重新计数。🎋一个周期内的总计数:输入捕获上(下)升沿信号开始,到下一个上(下)升沿结束总计数个数:CNT=N∗(A