草庐IT

ESP32-CAM

全部标签

stm32独立看门狗和rtc闹钟

独立看门狗1、独立看门狗概述      在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog)。    看门狗(watchdogtimer),是一个定时器(12位)电路,一般有一个输入,叫喂狗(kickingthedogorservicethedog),一个输出到MCU的RST端,MCU正常工作的时候

STM32(7)-定时器输出PWM的原理分析

概念+代码文章目录一、输出比较二、PWM原理三、输出PWM1.PWM初始化2.输出指定频率PWM波3.输出占空比可变的PWM波一、输出比较OC(OutputCompare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功能二、PWM原理PWM(PulseWidthModulation)脉冲宽度调制在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域PWM参

(新手必看)自定义数据传输通信协议+STM32代码详解

前言    本篇博客主要学习和了解一些单片机协议的格式,在对传输大数据或者要求准确性的时候,都需要通过协议来发送接收,下面通过了解协议的基本构成和代码来分析和实现协议的发送和接收。本篇博客大部分是自己收集和整理,如有侵权请联系我删除。本次博客开发板使用的是正点原子精英版,芯片是STM32F103ZET6,需要资料可以@我拿取。交流群:717237739如果觉得有用点赞关注收藏三连,多谢支持本博客内容原创,创作不易,转载请注明————————————————一.什么是协议?协议,是网络协议的简称,网络协议是通信计算机双方必须共同遵从的一组约定。如怎么建立连接,怎么样互相识别等,只有遵守这个约定,

STM32库函数TIM_SetCompare()的工作机制测试

一、TIM_SetCompare()函数的定义其中,TIM_SetCompareX()这个函数有四个,它们为:TIM_SetCompare1、TIM_SetCompare2、TIM_SetCompare3、TIM_SetCompare4,同时分别对应:CH1、CH2、CH3、CH4。/***@briefSetstheTIMxCaptureCompare1Registervalue*@paramTIMx:wherexcanbe1to17except6and7toselecttheTIMperipheral.*@paramCompare1:specifiestheCaptureCompare1re

STM32HAL库学习笔记(一)——GPIO

一、基础知识GPIO全名为GeneralPurposeInputOutput,即通用输入输出。有时候简称为“IO口”。通用,说明它是常见的。输入输出,就是说既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。输入模式和输出模式是GPIO的基本特性,当然GPIO还有其它模式可选。IO耐压问题STM32是一款3.3V电压的芯片,IO输出是3.3V,但IO大部分都是可以容忍5V电压输入。一般在芯片手册的“引脚定义”章节可以查看到有FT标识表示该IO可以容忍5V电压输入。二、在HAL库中的GPIO的模式1、输入模式GPIO_Input    上拉或下拉输入(GPIO Pull-up/Pu

STM32单片机入门学习笔记——定时器TIM第二部分

笔记整理自B站UP主江科大自化协教程《STM32入门教程-2023持续更新中》,所用单片机也为教程推荐单片机。大致内容第一部分:定时器基本定时的功能,定时器每隔这个时间产生一个中断,来实现每隔一个固定时间执行一段程序的目的,比如要做一个时钟、秒表或者使用一些程序算法的时候都需要用到定时中断这个功能第二部分:定时器输出比较的功能,最常见的用途就是产生PWM波形,用于驱动电机等设备第三部分:定时器输入捕获的功能,使用输入buhuo这个模块来实现测量方波频率的例子第四部分:定时器的编码器接口,使用编码器接口能够更加方便地读取正交编码器的输出波形,在编码电机测速中,应用广泛使用定时器的外部时钟,可以提

从零开始用Nodejs搭建一个MQTT服务器,并且用stm32通过esp8266进行消息订阅和发布

从零开始用Nodejs搭建一个MQTT服务器,并且用stm32通过esp8266进行消息订阅和发布一、项目背景最近在做一个物联网项目,需要用到服务器进行数据的存储和数据的请求和发送,之前我用过onenet平台上的http服务,虽然能通过get和post请求进行数据的提交和发送,但是平台上的数据发生改变却不能主动推送给esp8266,与我此次的项目不符合,所以pass。然后我了解了下mqtt协议,它可以消息的发布和订阅实现服务器和esp8266的双向通信,而我之前又学过一些js,所以我就想能不能自己搭建一个mqtt服务器,最终还真的实现了。二、搭建mqtt服务器1.搭建开发环境安装nodejs,

【STM32】读写内部Flash初步使用

基于stm32f103,作为个人学习记录使用STM32芯片内部有一个FLASH存储器,它主要用于存储代码,在紧急状态下常常会使用内部FLASH存储关键记录;内部FLASH的构成STM32的内部FLASH包含主存储器、系统存储器以及选项字节区域大容量产品内部FLASH的构成(摘自《STM32F10x闪存编程参考手册》主存储器一般我们说STM32内部FLASH的时候,都是指这个主存储器区域,它是存储用户应用程序的空间,芯片型号说明中的256KFLASH、512KFLASH都是指这个区域的大小。主存储器分为256页,每页大小为2KB,共512KB。这个分页的概念,实质就是FLASH存储器的扇区,与其

串口屏(USART HMI)与STM32

目录一、前期准备二、串口屏上位机三、STM32软件编程一、前期准备1.STM32单片机2.HMIUSART串口屏本人使用使用的是陶晶驰的串口屏。型号为TJC4832T135_0113.USB转TTL串口模块电源板(CP2102芯片)(CH340也可以)二、串口屏上位机官网资料:USARTHMI资料中心可拖动左侧工具箱进行界面设计,常用文本、按钮、数字、切图等。右侧可修改相应的属性,一个工程中即使有多个页面,不能出现两个名字相同的控件。若移植其他例程,串口屏型号不一致,在上侧设备栏进行修改,具体见教程。三、STM32软件编程1、串口3配置波特率为9600(串口屏默认)2、hmi.c封装了STM3

STM32定时器详解——TIM详解

TIM简介1、TIM(Timer)定时器2、定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断3、16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时4、钟下可以实现最大59.65s的定时5、不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能6、根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型定时器类型STM32F03C8T6具有四个定时器基本定时器的结构图通用定时器的结构图查看一下引脚定义表高级定时器结构图定时中断基本结构图预分频器的时序计数器计数频率:CK_CNT=CK_PSC/(PS