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

原创 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
1409
2

原创 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
33616
91

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

原创 stm32串口自定义协议接收一串十六进制数据(将其中两个字节转化为十进制数据)+部分串口基础知识
1、串口通信部分基础知识2、串口自定义协议接收一串十六进制数据进行存储,并将其中的两个字节转化为十进制数据3、串口助手发送字符控制LED的亮灭4、发送一个字节函数5、发送两个字节函数6、重定向printf和getchar函数
2022-01-04 23:45:33
23055
13

原创 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
39453
182

原创 阿里云+AIR800(GPRS+GPS)定位信息采集---查看具体位置和行驶轨迹
GPS数据上传至阿里云,并可查看具体位置以及行驶轨迹关于阿里云云端产品与设备的建立,以及Air800连接阿里云的部分就不再详细介绍,请参考下面1、物联网云平台–阿里云–创建属于自己的产品和设备2、mqtt客户端接入阿里云–云端查看接收到的数据3、Air800接入阿里云–设备发送静态数据-云端进行显示一、代码编写1、我们需要用到gps定位的例程,移植修改即可gps有两个文件,第一个例程...
2019-07-21 23:06:18
5020
10

原创 STM32+AIR800关于温湿度采集上传阿里云以及进行云端下发指令简单的控制
一、主要功能实现:1、STM32采集温湿度上传至阿里云,进行云端显示2、云端下发指令控制STM32的LED亮灭(直接控制STM32(A)的LED亮灭,以及设置定时时间自动打开和关闭LED)3、云端下发指令通过NRF24L01间接控制第二个STM32(B)的LED亮灭二、 各模块功能划分:1、阿里云物联网云平台:(1)进行云端显示温湿度,给云下设备下达指令2、AIR800:(1)成功...
2019-06-10 11:41:54
7866
49
原创 STM32F103ZET6程序移植为C8T6+C8T6下载程序flash timeout的解决方案
STM32F103ZET6程序移植为C8T6+C8T6下载程序flash timeout的解决方案
2022-07-12 10:13:30
2041
原创 Lua语言(stm32+2G/4G模块)和C语言(stm32+esp8266)从字符串中提取相关数据的方法-整理
1、lua语言(stm32+2G/4G模块)串口接收到数据之后进行数据分离并提取赋值2、C语言(stm32+esp8266)不使用json解析云端数据的情况下使用字符串匹配和格式化的形式进行数据解析
2022-07-10 15:02:29
1014
原创 基于STM32和阿里云的环境检测系统设计
1、STM32采集温湿度,二氧化碳浓度在本度OLED进行数据显示2、STM32通过串口将数据发送给ESP8266,然后将数据上传到阿里云3、手机app进行远程查看数据+远程控制开关的打开状态4、温度高于设置的阈值时进行蜂鸣器报警(按键可以调整阈值变化)............
2022-07-09 23:44:01
1492
原创 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
5012
10
原创 数电-第四章组合逻辑电路部分
数电-第四章组合逻辑电路笔记重点整理部分文章目录一、编码器和译码器二、数据选择器三、加法器四、数值比较器五、相关例题一、编码器和译码器二、数据选择器**三、加法器****四、数值比较器**五、相关例题...
2021-09-11 15:03:16
246
原创 1-模电第一章基础知识学习(半导体+二极管+三级管+课后习题思路)
主要将自己学习过程中的模电笔记拍照上传,防止纸质版笔记丢失导致无法快速回顾复习知识点。半导体
2021-07-30 17:06:13
1368
原创 MQTT协议-报文分析及网络客户端报文测试(MQTT报文连接阿里云上传数据+订阅数据)
**一、弥补遗憾**有些遗憾是无法弥补的,而有些遗憾是可以弥补的。没法弥补的遗憾就不说了,它将永远成为遗憾。既然有些遗憾可以弥补,就不要让它继续成为遗憾了。这是一个难得的假期,出来做点兼职,也没想过要挣多少钱,够自己吃喝就够了。主要呢是想找一个安静的地方在外面呆一会,利用业余时间出去到处走走看看,有时间呢就安心学习一点必要的知识,这还是蛮不错的。1、大学期间的遗憾之一:ESP8266的AT指令使用AT指令控制8266传输数据这个遗憾前几天已经弥补了,利用业余时间进行了8266的AT指令的学习,O
2021-06-30 23:11:02
2275
5
原创 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
1736
4
原创 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
29602
90
原创 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
6652
15
原创 《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
242
原创 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
2234
原创 c语言字符串-字符串指针
一、字符串3、字符串特点a) 字符串占位符是%sb)字符串占用内存是连续的,一个字符挨着一个字符一旦碰到‘\0’则表示字符串的结束字符串有点像数组,内存也是连续的例如printf(“%s\n”,”abcd\0def”);//可以直接跟字符串 打印出abcd(因为碰到\0表示结束了)或者printf(“%s\n”,字符串首地址)//可以直接跟字符串的首地址...
2020-02-09 21:50:59
493
原创 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
246
原创 c语言常量:常量指针-指针常量-常量指针常量
**一:常量**常量指针,指针常量,常量指针常量a)常量定义:不可修改的值,例如250,’A’b)const关键字功能:将变量常量化,四种形式(1)const可以修饰普通变量,一旦修饰该变量,该变量就当做常量看待,不可再更改 Const int a=250;//将变量a常量化 A=200;//gcc编译器报错(2)常量指针:不能通过指针变量来修改指向的内存区域的数据,主要...
2020-02-09 19:57:42
880
原创 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
311
原创 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
144
原创 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
234
原创 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
3301
原创 c语言中交换两个变量的值
一、两个变量的值交换了吗?编写一个 数值交换函数,实现两个变量的值交换运行结果如下:发现swap函数中两个变量的值的确交换了,但是主函数里面两个数值并没有交换。即形参x,y值变了,实参a,b并没有变化原因如下(最简单的理解:形参x,y的值的确交换了,但是形参x,y只在swap函数中起作用,此函数 一结束这两个形参值就不存在了,所以实参值不会发生改变)二、两个变量的值交换了...
2020-02-02 18:37:16
2412
原创 C语言中对于二进制数据位清0和置1操作(普通变量+数组+指针)
一、基本知识 (一)位bit运算符 位与&运算符特点 位或|运算符特点 (二)移位运算符 (三)位运算符和移位运算符结合(bit位清0与置1公式) 二、例程 (一)清0与置1推导步骤 (二)借助数组将某一位清0和置1 (三)使用指针清0和 置1一、基本知识(一)位(bit)运算符1、功能:这些运算符就是专门操作内存中的二进制数位与:&(目的...
2020-02-02 17:05:44
5935
2
原创 linux初学习---文件类型(目录---文件---链接---文档---端口设备)
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等当为[ d ]则是目录当为[ - ]则是文件;若是[ l ]则表示为链接文档(link file);若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ...
2019-06-30 17:04:16
253
原创 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
246
原创 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
133
原创 linux初学习--创建用户与分组,查看用户信息,以及改变用户名及用户目录
(1)创建一个名为“Linux姓名”的用户,并作为“Linux学号”用户组的成员。(2)将“Linux姓名”用户名改为network,查看/etc/passwd文件。(3)查看用户network的用户目录,并将其改为 /home/network。...
2019-06-25 23:16:25
2343
原创 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
1746
原创 linux个人网站配置初学习---搭建web服务
一、输入指令先检查有无httpd软件包1、检查有无httpd软件包#rpm –qa|grep httpd2、出现以下类似版本信息表示已安装3、启动服务: #service httpd start #usr/sbin/apachectl start若提示:httpd: Could not reliably determine the server’s fully qualif...
2019-06-21 21:15:10
1806
3
原创 linux初学习--makefile文件编写--多模块编译
研究给定的C语言程序组,编写相应的makefile,并执行查看结果。主要实现:利用两个c文件结合编译输出“hello zhangsan!”字符串,进而练习makefile文件编写的方法gcc的编译过程Makefile语法规则简单地讲,Makefile的作用就是让编译器知道要编译一个文件需要依赖哪些文件,同时当那些依赖文件有了改变,编译器会自动发现最终的生成文件已经过时,而重新编译相应的模...
2019-06-15 23:43:37
1190
原创 linux用while-until-for三种循环结构分别计算1+2+3...+100的值并输出----shell脚本初学习
while-until-for三种循环结构分别计算1+2+3+…+100的值并输出$变量替换 (引用一个变量的内容)。一个变量名前面加一个$字符前缀表示引用该变量的内容。一、until结构这个结构在循环的顶部判断条件,并且如果条件一直为false那就一直循环下去(与while相反)。until [condition-is-true]docommand...done 例:s...
2019-06-13 09:34:23
12641
1
原创 (五)阿里云下达指令通过NRF24L01控制第二个单片机
最终要实现的功能:1、STM32采集温湿度通过串口1发送至AIR800,然后通过AIR800将温湿度上传至阿里云2、阿里云物联网云平台下发命令通过AIR800控制STM32的LED亮灭(打开或关闭功能,或者定时 自动打开和自动关闭)3、通过nrf24l01实现点对点通信,阿里云下发数据至air800,STM32(A)串口2接收数据之后进行判断,如果需要控制另一个STM32的LED灯,则会将数...
2019-06-08 16:03:43
1449
原创 (四)AIR800接收STM32发送的温湿度上传阿里云并远程控制STM32LED亮灭
最终要实现的功能:1、STM32采集温湿度通过串口1发送至AIR800,然后通过AIR800将温湿度上传至阿里云2、阿里云物联网云平台下发命令通过AIR800控制STM32的LED亮灭(打开或关闭功能,或者定时 自动打开和自动关闭)3、通过nrf24l01实现点对点通信,阿里云下发数据至air800,STM32(A)串口2接收数据之后进行判断,如果需要控制另一个STM32的LED灯,则会将数...
2019-06-07 11:57:43
3509
31
原创 (三)STM32串口2发送指令打开关闭LED(添加指定时间定时打开和关闭)
最终要实现的功能:1、STM32采集温湿度通过串口1发送至AIR800,然后通过AIR800将温湿度上传至阿里云2、阿里云物联网云平台下发命令通过AIR800控制STM32的LED亮灭(打开或关闭功能,或者定时 自动打开和自动关闭)3、通过nrf24l01实现点对点通信,阿里云下发数据至air800,STM32(A)串口2接收数据之后进行判断,如果需要控制另一个STM32的LED灯,则会将数...
2019-06-06 23:31:12
3096
15
原创 (二)STM32添加串口2和RTC--OLED上显示时间日期
最终要实现的功能:1、STM32采集温湿度通过串口1发送至AIR800,然后通过AIR800将温湿度上传至阿里云2、阿里云物联网云平台下发命令通过AIR800控制STM32的LED亮灭(打开或关闭功能,或者定时 自动打开和自动关闭)3、通过nrf24l01实现点对点通信,阿里云下发数据至air800,STM32(A)串口2接收数据之后进行判断,如果需要控制另一个STM32的LED灯,则会将数...
2019-06-06 23:10:02
14125
21
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
手把手教你学51单片机-C语言
2018-08-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人