- 博客(79)
- 收藏
- 关注
原创 51单片机的内核架构组成 & 介绍
对于51单片机相信很多电子信息或者相关专业的朋友应该都不会感觉陌生,很多专业在大学课程中开设的单片机课程就是使用的51单片机进行授课和学习的。
2023-12-10 14:51:40
3279
原创 Modbus协议详解5:Modbus数据模型、寄存器、功能码 (非常重要)
Modbus协议最早的应用领域是工业控制中的,那个时候PLC中的使用很多,而且涉及的控制对象又很多是开关、指示灯、信号灯等等的,所以为了控制和表示这一系列的对象,就需要抽象一些数据类型出来专门进行表示。线圈可读可写,还是布尔类型的,它可以表示控制现场的开关,1表示开关的打开,0表示开关的关闭。控制开关的开闭可以这么表示,同样的读取回来的值也可以表示开关的开闭状态。看着还挺让人奇怪的。Modbus是应用层上的协议,还是一种主从的通信协议,通信过程按照一定的协议规则进行,数据的交互也是有固定的格式的。
2023-10-29 11:29:32
9199
原创 Modbus协议详解4:RTU帧 & ASCII帧的差错校验
纵向冗余校验(LRC)为一个字节,含有8位二进制值。LRC由发送设备计算,并附加LRC到报文。接收设备在接收文时计算LRC,并将计算的结果与在LRC接收到的实际值相比较,如果两个值不相等,则结果为错。
2023-10-24 22:43:51
3124
原创 Modbus协议详解3:数据帧格式 - RTU帧 & ASCII帧的区别
在项目应用中,很多时候多报文帧的接收都会涉及到中断,特别是在通信速率很高的情况下,会频繁的快速中断,对cpu的负担是很重的,这个时候这t1.5和t3.5的时间就会变得很短暂,并不是很好处理。在RTU模式中,为了标识不同的报文帧,在报文帧之间插入一个空闲时间间隔,在两帧报文之间用至少3.5个字符的空闲时间来区分不同的帧,同时标识一帧是否已经完成接收。
2023-09-17 13:01:46
11889
2
原创 Modbus协议详解2:通信方式、地址规则、主从机通信状态
Modbus是一种串行链路上的主从协议,在通信线路上只能有一个主机存在,不会有多主机存在的情况。虽然主机只有一个,但是从机是可以有多个的。
2023-09-06 22:42:38
8569
原创 Modbus协议详解1:Modbus的简介
早在1979年出现工业串行链路以来,Modbus的应用就开始普遍起来,它使得各种自动化设备之间的互相通信得到实现,做嵌入式产品开发的朋友应该不会陌生,Modbus的身影是随处可见的。并且在中国Modbus都已经形成了规范的标准,都有相应的国标的文件可以查阅到的。
2023-08-27 12:23:29
634
原创 PID控制的总结 — 概念与参数整定
对于这个PID参数的整定,我个人认为没什么一步到位的好方法,针对不同的系统,同样的控制算法,参数都不会一样的,还要根据实际的情况去调节。
2023-08-06 19:27:29
2142
原创 ubuntu与windows之间的文件共享
综合上述的三种方式,我觉得第三种方式其实更加方便,前面的两种都需要网络的支持,第三种就不需要网络也行。由于在ubuntu中安装source insight比较麻烦,这个软件本身也没有linux版本的,但是我又想ubuntu中的代码可以在windows中打开来阅读和编写,那怎么办呢?这部分的操作基本都差不多,就是客户端上输入ubuntu的主机IP地址,如果不知道IP是多少,可以在终端输入指令进行查询。输入账户名后会提示你输入密码的。然后输入ubuntu主机的用户名,注意这个用户名的输入,看下面的图示。
2023-07-23 13:40:00
16069
2
原创 PID算法:标准PID算法的一些改进措施
如果积分饱和了,在系统的偏差方向发生了改变了之后,PID这个时候会起作用进行调节,但是由于积分项太大了,就需要经过比较长的时间才能让输出U(n) 从积分饱和区脱离,会使调控作用滞后,让系统出现明显的超调,整个系统的调节效果会变差,这肯定是不希望出现的。这就是积分不灵敏的情况。积分限幅法的操作原理是:对积分项的输出设定一个限制,当积分项的输出达到限制,就停止积分项的计算,PID算法中的积分计算项的值采用上一个时刻的积分值。相反,当系统的偏差比较小的时候,让积分的速度快一些,以求尽快的消除静差。
2023-07-16 18:59:01
4249
原创 串口接收不定长数据的实现
使用串口进行数据的收发在嵌入式产品中是很常用的一种通信方式,因为串口的简单使用,很容易就被选为产品中数据交互的通信手段。
2023-07-02 12:46:07
2719
原创 PID算法:过程控制中的重要质量指标
PID算法广泛的被应用在很多的控制系统中,最终的目的都是希望通过pid控制器实现被控量能稳定在预期的目标值。
2023-06-15 23:05:24
2900
原创 PID算法:增量式PID & 位置式PID
一般而言,计算机实现PID算法的时候,在采样周期很小的时候,积分部分可以用对误差求和的方式代替,微分部分可以用差商的方式代替,从而实现将连续的PID算法的差分方程进行离散化,能够通过计算机实现。数字PID:指的是PID控制算法的实现是通过计算机软件程序实现的,计算机需要对输入的连续信号进行采集,然后通过量化作为控制器的输入参数,从而经过算法的调节实现目标对象的控制。图中的模拟调节器的意思就是控制规律的方案是通过模拟硬件的方式来实现的,如果想要调整系统的控制规律就需要修改调节器的硬件。
2023-06-10 13:32:32
15719
2
原创 freeRTOS中使用看门狗的一点思考
关于看门狗想必各位嵌入式软件开发的朋友应该都不会陌生的。在嵌入式软件开发中,看门狗常被用于监测cpu的程序是否正常在运行,如果cpu程序运行异常会由看门狗在达到设定的阈值时触发复位,从而让整个cpu复位重新开始运行。
2023-05-07 23:03:58
4182
原创 SG90舵机的原理和控制方式
舵机只是我们通俗的叫法,它的本质是一个伺服电机,也可以叫做位置(角度)伺服驱动器。一般被应用在那些需要控制角度变化的系统中,可以方便的实现转动任意的角度,实现控制角度的变化。
2023-03-23 23:26:15
30921
原创 排序算法 - 冒泡排序
冒泡排序算法应该可以说是很经典的一种对数据进行排序的的算法了,甚至在很多的介绍算法的数据中,它可能还是放在最前面开始讲解的。
2023-03-13 13:43:06
997
原创 linux多线程的同步手段 — 条件变量
有没有这样的一种方式,在某个条件没有成立的时候,这个线程平时就被阻塞挂起,等到这个条件成立了,通知一下这个线程条件已经成立了,可以去执行相关的操作了。
2023-03-10 23:33:36
715
原创 linux 中的压缩和解压操作
在开发中,很多时候会遇到某些文件要进行压缩的操作,比如文件较大不方便传输的时候,可能会考虑对文件进行压缩,以减少文件传输的时间。
2023-02-03 21:46:29
2134
原创 大小端是什么?如何判别?
在计算机系统中,内存的最小存放单元是字节,即一个地址对应一个字节,可以保存一个字节(8Bit)的数据,但是在计算机系统中又不可能全部都是一个字节的存储方式,还有一些8位、16位、32位的系统,它们还会有2个字节、4个字节的变量。
2023-02-02 15:49:54
4001
原创 开启linux的网络服务, FTP、SSH和NFS服务
在使用linux中开发的时候,我们可以选择启用一些网络服务方便我们进行开发,加快开发的进度。(
2022-11-20 22:51:43
751
2
原创 面试必考 - 结构体内存对齐,还有人不会?
定义的变量(元素)是要按照顺序一个一个放到内存中去的,它们也不一定就是紧密排列的,是要按照一定的规则就行排放的,这就是内存对齐。
2022-11-06 17:47:33
572
原创 在线升级:OTA升级的原理和实现方式
通过无线的方式进行更新的才称之为 OTA 升级;而那种通过外部的接口接线来实现的更新,称之为本地升级。
2022-11-05 17:27:23
32436
6
原创 如何设置STM32的系统时钟(SYSCLK)
在使用STM32单片机进行项目开发的时候,第一步都是要做好时钟的设置的。这个时钟的设置是非常重要的,因为它关系到整个系统的运行。不同的项目都会根据实际的使用需求,采用不同的时钟频率,所以需要对时钟进行设置。
2022-11-04 21:21:23
10445
原创 单片机中的 AD & DA 模数转换
在芯片内,模拟信号传输进去的时候,通过和芯片内部的模拟信号部件进行比对之后,从而转换为数字信号保存到数字信号寄存器中,从而把一段模拟信号用数字的方式表达出来(0和1)的方式表达出来。一旦校准结束,CAL位被硬件复位,可以开始正常转换。
2022-10-30 15:22:19
3265
原创 Git管理 — 分支管理
分支管理指的是从当前主分支(master)中创建分支(branch),然后每个人负责在自己的分支上进行开发、提交,最后所有功能都开发完成之后,再合并到主分支。
2022-10-21 16:57:29
1595
原创 数据结构 — 双向链表
双向链表的最大便利之处在于查询链表时不仅可以正向查找也可以反向查找,甚至如果当前查询的位置在链表中间的位置的时候,可以反方向两头查找,提高查找的速度和效率。
2022-09-28 15:39:59
438
原创 STM32单片机的 Hard-Fault 硬件错误问题追踪与分析
有过单片机开发经验的人应该都会遇到过硬件错误(Hard-Fault)的问题,对于这样的问题,有些问题比较容易查找,有些就查找起来很麻烦,甚至可能很久都找不到问题到底是出在哪里。
2022-09-23 15:50:48
9040
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人