草庐IT

STM32------分析GPIO寄存器

 一、初始LED原理图共阴极ledLED发光二极管,需要有电流通过才能点亮,当有电压差就会产生电流二极管两端的电压差超过2.7v就会有电流通过电阻的作用由于公式I=V/R不加电阻容易造成瞬间电流无穷大发光二极管工作电流为10-20MA3.3v/1kΩ =3.3mA电阻作用限流电阻。二、分析GPIO寄存器2.1前言编程的目的是为了操作硬件,硬件分布在地址上,所以转变为编程操作地址,因为地址是唯一的。编程的目的就操作地址间接操作硬件地址分布比较广,硬件都会把地址用寄存器的方式来分布某个地址到某个地址属于某个寄存器这样的话我们操作硬件实际上就是在操作地址,操作地址实际上就是转化为操作寄存器。2.2本

【智能家居入门2】(MQTT协议、微信小程序、STM32、ONENET云平台)

此篇智能家居入门与前两篇类似,但是是使用MQTT协议接入ONENET云平台,实现微信小程序与下位机的通信,这里相较于使用http协议的那两篇博客,在主程序中添加了独立看门狗防止程序卡死和服务器掉线问题。后续还有使用MQTT协议连接MQTT服务器的智能家居项目。前言一、硬件模块二、连接服务器测试三、两个协议的对比分析1、代码结构上:2、获取服务器数据上:3、架构上:四、下位机主要代码1、接收并解析云平台下发数据:2、传感器数据上云:五、微信小程序主要代码1、index.js2、index.wxml六、源码获取前言这里给出前两篇使用http协议博客的网址:①实现数据上云:https://blog.

基于Windows下离线安装当前最新Arduino ESP32 SDK(2.0.7)固件开发包

基于Windows下离线安装当前最新ArduinoESP32SDK(2.0.7)固件开发包✨写这篇的文章的初衷,是由于在前几天想通过离线一键安装包方式实现升级安装,结果发现解压后,可以找到开发板,但是无法上传代码,由于原作者在封装安装包的时候,将有效资源放的是其他平台上使用的,导致工程可以编译,但是上传会报错,特此加以补充安装方法。📜在使用https://arduino.me/packages/esp32.json离线安装包,编译-上传报错内容:java.io.IOException:Cannotrunprogram"REMOVE/esptool.exe":CreateProcesserror

野火指南者(STM32F103)移植LVGL

一、LVGL简介lvgl是一个开源免费的GUI,对硬件资源要求很低,64kBFlash,16kBRAM以上的单片机都可以用,它是一款基于C编写的GUI,能很好的迁移到其他平台,且拥有丰富的图形控件,也能支持多种输入设备。二、源码获取        本文是以V8.3版为例:https://github.com/lvgl/lvgl/tree/master    百度网盘:链接:https://pan.baidu.com/s/1c7TO5AU9hNv0icGgN6n2gg提取码:bku8三、移植工程下载后的源码文件        移植需要用到的文件:                F:\浏览器下载\

1 个 block (16 字节)的 Java AES-128 加密返回 2 个 block (32 字节)作为输出

我使用以下代码进行AES-128加密来编码一个16字节的block,但编码值的长度给出了2个32字节的block。我错过了什么吗?plainEnc=AES.encrypt("thisisapassword!");importjava.security.*;importjava.security.spec.InvalidKeySpecException;importjavax.crypto.*;importsun.misc.*;publicclassAES{privatestaticfinalStringALGO="AES";privatestaticfinalbyte[]keyValu

STM32通过ESP8266连接阿里云 详细步骤

一、烧录MQTT固件        ESP8266出厂时,默认是:AT固件。连接阿里云需要:MQTT固件。        因此,我们需要给8266重新烧录 MQTT固件。        针对“魔女开发板,ESP8266模块烧录MQTT固件,图解教程如下:        ESP8266烧录MQTT固件-CSDN博客二、接线说明        "魔女开发板"系列,板上已带ESP8266模块,其TX、RT引脚,已引出到右边排针顶部。        我们只要把跳线帽,插到2、3行之间,就能使用8266与开发板的串口相连接。        供电引脚已在PCB设计时预先布好了线,无需理会、接线。     

STM32 TIM输入捕获测频率占空比库函数

目录一、输入捕获初始化函数TIM_ICInitTIM_PWMIConfigTIM_ICStructInit二、主从触发模式对应函数TIM_SelectInputTriggerTIM_SelectOutputTriggerTIM_SelectSlaveMode三、配置分频器函数TIM_SetIC1PrescalerTIM_SetIC2PrescalerTIM_SetIC3PrescalerTIM_SetIC4Prescaler四、读取CCR函数TIM_GetCapture1TIM_GetCapture2TIM_GetCapture3TIM_GetCapture4一、输入捕获初始化函数TIM_IC

Keil uVision5下载安装教程(stm32版)图文教程怎样如何使用安装芯片包等

KeiluVision5怎样安装?如何下载?图文教程stm32版教程,含芯片包如何离线安装。如何注册软件?KeiluVision5简介这个软件是一款由KeilSoftware公司开发的集成开发环境(IDE),主要用于嵌入式系统的开发。它支持多种编程语言,包括C和汇编语言,同时也提供了丰富的调试和仿真工具。第一步:下载KeiluVision5网盘链接:https://pan.baidu.com/s/1ZiiFXa3jX_PWZqU0SjexkA?pwd=tlme 提取码:tlme (链接里也有51版的,注意下载下图这个)下载后的样子如下图:第二步:双击这个开始安装第三步:点【是】第四步:点【Ne

Unity(单元测试)在STM32上的移植与应用

概述UnityTest是一个为C构建的单元测试框架。本文基于STM32F407为基础,完全使用STM32CubeIDE进行开发,移植和简单使用Unity。单片机型号:STM32F407VET6软件:STM32CubeIDE Version:1.14.1  UnityVersion:2.6.0一、配置stm32工程新建工程,选择407芯片,生成工程后开始配置硬件,这里我们只使用了串口1,作为打印输出串口,按照图片设置,波特率等根据需要设置,这里我使用的默认值。我习惯单独生成c和h文件。保存生成代码。在main.c文件中添加串口重定向函数/*Privateusercode-------------

stm32-HAL库IIC通信-at24c02

一、IIC通信协议IIC是一种通用串行同步通信协议,将IIC通信分为物理层和协议层两方面来学习。1.物理层物理层上有如下特点:(1)它是一个支持设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中,可连接多个I2C通讯设备,支持多个通讯主机及多个通讯从机。 (2)一个I2C总线只使用两条总线线路,一条双向串行数据线(SDA),一条串行时钟线(SCL)。数据线即用来表示数据,时钟线用于数据收发同步。(3)每个连接到总线的设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问。(4)总线通过上拉电阻接到电源。当I2C设备空闲时,会输出高阻态,而当所有设备都空闲,都输出高阻