- 博客(55)
- 资源 (19)
- 收藏
- 关注

原创 基于STM32和阿里云的智能台灯(STM32+ESP8266+MQTT+阿里云+语音模块)
(1)冷光模式和暖光模式两种灯光(可以实现灯光亮度的切换)(2)自动模式(根据光照强度来调整灯光亮度)和手动模式(调整灯光亮度-低中高,或打开/关闭灯光)(3)手动模式(语音控制/结合wifi模块实现手机app的远程控制)(4)本地oled和手机app显示灯光模式等信息
2024-04-24 11:07:55
1394

原创 STM32FreeRTOS信号量(STM32cube高效开发)
信号量是操作系统中重要的一部分,信号量是一种解决同步问题的机制,可以实现对共享资源的有序访问。对信号量相关的知识进行了介绍,使用STM32cube配置FreeRTOS来实现相关信号量的配置,使用cubeide完成代码的编写,最终去完成信号量的相关实验
2024-03-06 18:21:19
1875

原创 STM32FreeRTOS-事件组1(STM32Cube高效开发教程)
事件组是FreeRTOS中的一种对象,且FreeRTOS默认就可以使用事件组,无需设置相关参数,使用之前需要使用创建函数创建事件组对象。
2024-03-05 23:01:12
1699

原创 STM32FreeRTOS任务通知(STM32cube高效开发)
任务通知是FreeRTOS另外一种进程间通信技术。不需要创建任何中间对象,可以直接从任务向任务或ISR向任务发送通知,传递一个通知值任务通知可以模拟二值信号量、计数信号量、或长度为1的消息队列,使用任务通知,一般效率更高,消耗内存更少。
2024-03-03 21:30:45
2039

原创 STM32-Modbus-RTU-01-05-15功能码补充-波特率在线修改-断电数据保护
使用STM32设备作为Modbus-RTU通信中的从机设备 - 使用Modbus-poll模拟上位机进行数据通信 - STM32在运行中加入波特率的在线修改 - 加入EEPROM进行数据存储(实现断电保护,设备重新上电时恢复到断电前的状态) - 实现03-06-16功能码的测试 - 实现01-05-15功能码的补充和测试
2023-01-27 21:23:41
6210
6

原创 STM32+RS485+Modbus-RTU(主机模式+从机模式)-标准库/HAL库开发
1、对modbus协议的0x03,0x06,0x10功能码进行测试+代码编写2、使用modbus poll软件,modbus slave软件、串口调试助手进行模拟测试3、使用STM32分别作为modbus协议的主机和从机进行测试4、STM32使用串口中断超时接收数据5、STM32使用DMA传输数据6、STM32HAL库开发(主机+从机模式均进行测试)
2022-01-29 22:30:27
97014
192

原创 STM32-DMA数据传输(USART-ADC-数组)
DMA结构体初始化DMA功能框图DMA数据配置DMA传输数据的思路存储器到外设传输数据存储器到存储器传输数据
2022-01-05 21:30:20
12236

原创 3-STM32+ESP8266连接onenet上传数据+远程控制(MQTT)
前两篇文章内容点下面连接跳转(看本篇博客先看前两篇会有帮助)1-ESP8266-AT指令初试化及部分基础知识2-STM32+ESP8266连接onenet并上传数据(HTTP)3-STM32+ESP8266连接onenet上传数据(MQTT)MQTT协议介绍–点我开发流程–点我素材获取请点我-提取码dz91一、onnet云平台创建产品和设备1、在控制台首页切换旧版本控制台首页–请点我2、选择全部产品-多协议接入3、创建MQTT协议下的产品和设备在MQTT协议下自己创建产品,在产品
2021-06-13 11:50:02
65395
220
原创 基于STM32的宠物托运智能控制系统的设计(第十七届研电赛)
使用STM32作为主控设备,通过DHT11温湿度传感器、多合一空气质量检测传感器以及压力传感器对宠物的托运环境中的温湿度、二氧化碳浓度和食物与水的重量进行采集,将采集到的信息在本地LCD显示屏上显示,同时,使用4G模块将采集到的数据通过MQTT协议将数据上传到阿里云服务器,云端和Android端也可以进行数据显示,在自动模式下,系统可以自主的进行自动化的检测、判断和调节。
2023-09-24 22:42:54
1348
原创 基于STM32和LORA组网的养老院智能控制系统设计(第十八届研电赛)
从机3收集厨房饮用水的TDS值。3个数据采集从机将采集到的数据显示在本地OLED屏上并且利用LORA发送给主机,主机对采集到的的数据进行处理分析,同时将这些数据上传至阿里云端,可以在Web端与APP端显示,同时Web端也可以对采集的数据进行历史查看。对于超出设定阈值的数据,主机与从机上的蜂鸣器,LED,舵机等元器件按照设定的情况工作,主机向Modbus开关量发送指令对设备进行开关。(5)C#语言编写的PC端上位机界面可以实现对开关量模块8路输入输出状态的检测和输出状态的控制,实现8路输出的全开关闭操作。
2023-09-24 22:40:56
971
2
原创 STM32F103ZET6程序移植为C8T6+C8T6下载程序flash timeout的解决方案
STM32F103ZET6程序移植为C8T6+C8T6下载程序flash timeout的解决方案
2022-07-12 10:13:30
4259
原创 Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理
1、lua语言(stm32+2G/4G模块)串口接收到数据之后进行数据分离并提取赋值2、C语言(stm32+esp8266)不使用json解析云端数据的情况下使用字符串匹配和格式化的形式进行数据解析
2022-07-10 15:02:29
2045
原创 基于STM32和阿里云的环境检测系统设计
1、STM32采集温湿度,二氧化碳浓度在本度OLED进行数据显示2、STM32通过串口将数据发送给ESP8266,然后将数据上传到阿里云3、手机app进行远程查看数据+远程控制开关的打开状态4、温度高于设置的阈值时进行蜂鸣器报警(按键可以调整阈值变化)............
2022-07-09 23:44:01
2649
原创 STM32-ADC(独立模式、双重模式)+DMA读取数据+部分基础知识
ADC采集电压值-DMA读取数据功能框图+ADC通道+数据寄存器+代码编写思路+实验1-stm32+ADC电压采集-中断读取2-stm32+ADC采集电压-DMA形式读取3-stm32+ADC+独立模式+DMA+6通道电压采集4-STM32+ADC+DMA+双重模式5-STM32+ADC+DMA+双重模式-多通道6-STM32+ADC+DMA+内部通道获取温度
2022-01-09 14:44:39
16762
20
原创 stm32串口自定义协议接收一串十六进制数据(将其中两个字节转化为十进制数据)+部分串口基础知识
1、串口通信部分基础知识2、串口自定义协议接收一串十六进制数据进行存储,并将其中的两个字节转化为十进制数据3、串口助手发送字符控制LED的亮灭4、发送一个字节函数5、发送两个字节函数6、重定向printf和getchar函数
2022-01-04 23:45:33
47103
14
原创 数电-第四章组合逻辑电路部分
数电-第四章组合逻辑电路笔记重点整理部分文章目录一、编码器和译码器二、数据选择器三、加法器四、数值比较器五、相关例题一、编码器和译码器二、数据选择器**三、加法器****四、数值比较器**五、相关例题...
2021-09-11 15:03:16
445
原创 1-模电第一章基础知识学习(半导体+二极管+三级管+课后习题思路)
主要将自己学习过程中的模电笔记拍照上传,防止纸质版笔记丢失导致无法快速回顾复习知识点。半导体
2021-07-30 17:06:13
2396
原创 MQTT协议-报文分析及网络客户端报文测试(MQTT报文连接阿里云上传数据+订阅数据)
**一、弥补遗憾**有些遗憾是无法弥补的,而有些遗憾是可以弥补的。没法弥补的遗憾就不说了,它将永远成为遗憾。既然有些遗憾可以弥补,就不要让它继续成为遗憾了。这是一个难得的假期,出来做点兼职,也没想过要挣多少钱,够自己吃喝就够了。主要呢是想找一个安静的地方在外面呆一会,利用业余时间出去到处走走看看,有时间呢就安心学习一点必要的知识,这还是蛮不错的。1、大学期间的遗憾之一:ESP8266的AT指令使用AT指令控制8266传输数据这个遗憾前几天已经弥补了,利用业余时间进行了8266的AT指令的学习,O
2021-06-30 23:11:02
7633
7
原创 4-ESP8266+onenet+STM32定时器的PWM应用(onenet云平台远程控制LED灯的亮度)
**实现的功能:**用 TIM3 的通道 2,把通道 2 重映射到 PB5, 产生 PWM 来控制 DS0 的亮度一、1、pwm简介:脉冲宽度调制简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。2、STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。3、使用到的寄存器(1)捕获/比较模式寄存器(TIMx_CCMR1/2)(2)捕获/比较使能寄存器(TIMx_CCER)该寄存器控制着各个输入输出通道的开关,(3)捕获/比
2021-06-15 12:51:14
4178
6
原创 2-STM32+ESP8266连接onenet并上传数据(HTTP)
由于是这是第一次使用STM32+ESP8266结合,第一次使用onenet云平台所以在使用之前先做了一些准备:1、了解8266的基础知识(模式、初始化、操作过程,并用串口助手测试)2、了解了onenet云平台(翻翻官方文档看一看)3、使用串口助手发送AT指令控制ESP8266连接onenet云平台,并上传数据(主要了解8266整个初始化及连接云端传输数据的过程及数据格式)4、在原来已有的基础上(STM32可以在OLED上显示温湿度)尝试添加ESP8266部分代码进行合并并修改,实现连接onenet云
2021-06-11 10:06:45
46929
110
原创 1-ESP8266-AT指令初试化及部分基础知识
esp8266-011、引脚介绍ESP-01共有8个引脚:GPIO0–工作模式-悬空,下载模式-下拉GPIO2–开机必须高电平,默认已经拉高GPIO16(RST)–低电平复位,默认已拉高CH-PD–高电平工作URXD–接收数据引脚UTXD–发送数据引脚GND–接地VCC–接3,.3v2、下载模式和工作模式时引脚设置(1)运行模式时主要关注3个引脚即可+RXD+TXDGND=接地VCC=CH_PD=3.3V(2)下载模式主要关注4个引脚+RXD+TXDGND=GPIO0=接地
2021-06-09 22:07:33
12354
17
原创 《c和指针》---指针章节学习笔记
内存中1G=1024M=10241024K=10241024*1024个字节每个字节在地址中都有一个唯一的编号,我们在程序中所创建的变量也都是存在内存中的,只不过每次变量都会重新分配地址。这里首先有个例程:打印变量的信息,打印不同类型的变量所分配的内存地址int main(){ //abc这些变量都存在内存里 int a=100;//a是4字节 int b=90; float c=3.14;//c是分配4个字节 double d=2.2;//d是分配8个字节 char c1='a'
2020-07-17 23:22:11
442
原创 C语言指针学习(6)指针数组-字符指针数组
**一、指针数组(比较常见)**2、指针数组定义:数组中每个元素都是一个指针(地址)每个元素只能是地址,不能是普通数据3、定义指针数组的语法:数据类型 *数组名[数组长度/元素个数]={地址列表};例如:int a=10,b=20,c=30lint *p[3]={&a,&b,&c};结果:p[0]=&a;p[1]=&b;p[2]=&a...
2020-02-09 22:13:21
3370
原创 c语言字符串-字符串指针
一、字符串3、字符串特点a) 字符串占位符是%sb)字符串占用内存是连续的,一个字符挨着一个字符一旦碰到‘\0’则表示字符串的结束字符串有点像数组,内存也是连续的例如printf(“%s\n”,”abcd\0def”);//可以直接跟字符串 打印出abcd(因为碰到\0表示结束了)或者printf(“%s\n”,字符串首地址)//可以直接跟字符串的首地址...
2020-02-09 21:50:59
699
原创 c语言指针学习(5)指针函数---函数指针---回调函数
**一、指针函数**1、指针函数定义的语法格式:返回数值类型 *函数名(形参表){ 函数体语句}原来b只能在return_test内部使用,现在一旦返回了b的地址给别的函数,那么别的函数也可以访问b了,无形扩大了b的使用范围打开注释return &g_a或者return &g_b打印结果是一样的2、完善:3、函数,指针,数组void A(i...
2020-02-09 21:00:13
431
原创 c语言常量:常量指针-指针常量-常量指针常量
**一:常量**常量指针,指针常量,常量指针常量a)常量定义:不可修改的值,例如250,’A’b)const关键字功能:将变量常量化,四种形式(1)const可以修饰普通变量,一旦修饰该变量,该变量就当做常量看待,不可再更改 Const int a=250;//将变量a常量化 A=200;//gcc编译器报错(2)常量指针:不能通过指针变量来修改指向的内存区域的数据,主要...
2020-02-09 19:57:42
1444
原创 C语言指针学习(4)指针和数组
一、回顾数组的知识定义数组:int a[4]={1,2,3,4};代码验证如下&a[0]=a+0均代表数组a第0个元素的地址a=&a[0]=a+0数组第0个元素的地址=数组首地址=a=&a[0]=a+0;第1个元素的地址:a+1=&a[1]第2个元素的地址:a+2=&a[2]第3个元素的地址:a+3=&a[3]a[0]...
2020-02-02 21:24:32
888
原创 C语言指针学习(3)指针运算
指针运算和数据类型相关:xxx型的指针加1时,其对应的实际地址加的数值为其对应数据类型的大小(int型指针由于int为4位,其指针加1,就表示实际地址加4):检验如下:运行结果如下2、用指针实现交换两个变量的值主函数中传递参数时要把a和b的地址传递过去,即赋值为pa=&a,pb=&b,如果传递普通变量,其值并不会发生变化3、利用指针将某一位清0置1清...
2020-02-02 20:10:23
271
原创 C语言指针学习(2)特殊指针:空指针和野指针
**1、空指针:**例如:short *pa=NULL;//pa保存0地址,pa保存空指针//读查看printf("pa指向的0地址保存的数据是:%#x\n",*pa);//写修改 *pa=250;//向空地址0写入250**2、野指针:**//野指针 int *pb;//野指针//读查看printf("pb指向的地址保存的数据是%#x\n",*pb);//...
2020-02-02 19:39:17
395
原创 c语言指针学习(1)(指针定义+语法格式 )
**1、指针的定义****2、指针变量定义的语法格式**1、书写形式1: Int * 指针变量名 例如:int * pa;定义一个指针变量2、书写形式2: Int * 指针变量名 例如:int* pa;定义一个指针变量3、书写形式3: Int *指针变量名 例如:int *pa;定义一个指针变量4、连续定义指针变量形式: Int *pa ,*pb;//...
2020-02-02 19:07:44
5245
原创 c语言中交换两个变量的值
一、两个变量的值交换了吗?编写一个 数值交换函数,实现两个变量的值交换运行结果如下:发现swap函数中两个变量的值的确交换了,但是主函数里面两个数值并没有交换。即形参x,y值变了,实参a,b并没有变化原因如下(最简单的理解:形参x,y的值的确交换了,但是形参x,y只在swap函数中起作用,此函数 一结束这两个形参值就不存在了,所以实参值不会发生改变)二、两个变量的值交换了...
2020-02-02 18:37:16
3044
原创 C语言中对于二进制数据位清0和置1操作(普通变量+数组+指针)
一、基本知识 (一)位bit运算符 位与&运算符特点 位或|运算符特点 (二)移位运算符 (三)位运算符和移位运算符结合(bit位清0与置1公式) 二、例程 (一)清0与置1推导步骤 (二)借助数组将某一位清0和置1 (三)使用指针清0和 置1一、基本知识(一)位(bit)运算符1、功能:这些运算符就是专门操作内存中的二进制数位与:&(目的...
2020-02-02 17:05:44
10555
2
原创 阿里云+AIR800(GPRS+GPS)定位信息采集---查看具体位置和行驶轨迹
GPS数据上传至阿里云,并可查看具体位置以及行驶轨迹关于阿里云云端产品与设备的建立,以及Air800连接阿里云的部分就不再详细介绍,请参考下面1、物联网云平台–阿里云–创建属于自己的产品和设备2、mqtt客户端接入阿里云–云端查看接收到的数据3、Air800接入阿里云–设备发送静态数据-云端进行显示一、代码编写1、我们需要用到gps定位的例程,移植修改即可gps有两个文件,第一个例程...
2019-07-21 23:06:18
8093
17
原创 linux初学习---文件类型(目录---文件---链接---文档---端口设备)
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等当为[ d ]则是目录当为[ - ]则是文件;若是[ l ]则表示为链接文档(link file);若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ...
2019-06-30 17:04:16
387
原创 linux初学习--处理目录的部分常用命令(ls-cd-pwd-mv-rm-mkdir-cp-touch)
(1)绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。(2)相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd …/man**处理目录的常用命令**ls: 列出目录cd:切换目录pwd:显示目前的目录mkdir:创建一个新的目录touch:创建一个...
2019-06-30 17:00:07
384
原创 linux初学习--软件包的安装yum安装
1、创建一个目录进行挂载#cd /media#mkdir cdrom#mount /dev/cdrom1 /media/cdrom2、修改文件配置#vi /etc/yum.repos.d/rhel-(tab键)3、修改为以下,file路径是你挂载的位置4、安装gdb#yum install gdb5、安装httpd #yum install httpd6、...
2019-06-25 23:27:29
207
原创 linux初学习--创建用户与分组,查看用户信息,以及改变用户名及用户目录
(1)创建一个名为“Linux姓名”的用户,并作为“Linux学号”用户组的成员。(2)将“Linux姓名”用户名改为network,查看/etc/passwd文件。(3)查看用户network的用户目录,并将其改为 /home/network。...
2019-06-25 23:16:25
2848
原创 linux虚拟web主机初学习--同一台服务器上运行的多个web站点
具体描述如下:Linux系统中,根据正在操作使用的主机上的IP地址建立web站点,完成以下操作:浏览器输入www.linyi.com和www.university.com,可以分别访问到服务器上 /home/web/linyi 以及 /home/web/university目录下的首页文件。www.linyi.com站点首页内容为“hello 姓名”,www.university.com站...
2019-06-21 22:00:34
2398
stm32+esp8266+阿里云+温湿度+光照强度+烟雾浓度+远程显示+远程控制
2024-05-12
stm32+esp8266+阿里云+温湿度+光照-烟雾-远程显示+控制-之STM32代码
2023-04-05
STM32-MODBUS-RTU通信(各个功能码测试)
2023-01-27
stm32-hal库-modbus-RTU通信在线修改波特率
2023-01-27
stm32运行中在标准库和HAL库下修改串口波特率
2023-01-25
STM32f103c8t6(c6t6)-ESP8266+onenet+dht11+oled+bh1750+远程控制led-pwm
2023-01-03
stm32+esp8266+阿里云+温湿度+OLED显示云端下发数据
2022-09-21
stm32+esp8266+onenet+温湿度+pwml灯光亮度调节
2022-08-14
基于STM32和阿里云的环境检测系统设计-代码
2022-07-10
基于STM32和阿里云的宠物环境检测系统pcb设计
2022-07-09
STM32HAL库+RS485+串口+定时器+Modbus协议(主机+从机测试)
2022-01-29
STM32+RS485+DMA+modbus协议
2022-01-29
STM32+RS485+MODBUS协议(主机+从机代码)+串口+定时器
2022-01-29
stm32+adc+dma+独立模式+双重模式+内部通道获取温度
2022-01-08
STM32-ADC单通道采集数据(中断形式和DMA形式)
2022-01-06
STM32串口实验+自定义协议接收16进制数据+发送1个(2个)字符+发送字符串函数.zip
2022-01-03
ESP8266_HTTP-ONENET代码.rar
2021-06-11
合宙AIR800+阿里云+上传数据+订阅数据+打电话+串口接收/发送
2020-05-16
STM32+DHT11+OLED+RTC+MQ2+NRF24L01+串口1,2
2020-05-16
STM32+oled+dht11+串口2+RTC.rar
2019-06-10
串口通信(串口助手发送指令控制单片机执行相应操作)
2018-12-28
51单片机串口通信
2018-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人