自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(200)
  • 资源 (2)
  • 收藏
  • 关注

原创 同一个交换机下接收不同类型的goose报文

以下实践均在同一个交换机上做出,不同交换机上还没有这个问题:单片机网卡同时可以接收带TPID、TCI和不带TPID、TCI都能够接收,使用wireshark抓包看不到TPID、TCI,被抓包软件过滤掉了,goose发布端口能够正常发送,订阅端口也能够正常接收,被抓包软件带偏了,导致无法正常解析带TPID、TCI的报文数据,在enc624j600网卡接收goose报文时,会判断报文类别,也就是ethhdr->type,根据相应的ethhdr->type进入不同的回调函数。

2024-08-27 14:11:17 346

原创 GOOSE报文中的TPID和TCI的含义和作用

TPID: 用于标识以太网帧中是否包含 VLAN 标签。TCI: 包含 VLAN 优先级、CFI 和 VLAN ID 的信息。VID用于标识帧所属的具体 VLAN。交换机通过配置端口到特定的 VLAN 来实现物理 VLAN 隔离。VLAN ID 的取值范围是从 1 到 4094,0 和 4095 通常保留为特殊用途。VLAN 标签中的VID字段用于在网络中区分不同的 VLAN。

2024-07-26 16:46:19 938

原创 单片机IO口模拟串口实现原理

确保同步:为了确保发送和接收的同步性,可以在发送和接收的开头和结尾添加起始位和停止位。发送时在数据的起始位置输出一个低电平的起始位,接收时检测到低电平的起始位后开始接收数据,接收完毕后检测到高电平的停止位表示接收完成。单片机IO口模拟串口的实现原理相对简单,但通信速率可能受到单片机性能和IO口速度的限制,因此在高速通信或实时性要求较高的场景下,可能需要选择硬件串口或其他更高级的通信方式。根据通信参数,将要发送的数据进行位的切换操作,逐位通过发送引脚发送出去。:顾名思义就是没有校验位,数据位后面接停止位。

2024-06-24 16:49:35 1192

原创 Modbus协议学习

modbus协议学习与实战

2024-05-23 11:01:08 911

原创 一种用指针简化添加数据的方法

通过指针偏移的方式巧妙解决了冗余问题。

2024-04-25 14:01:04 274

原创 内存泄漏导致Hard_Fault问题记录

如果不这样做,在重复分配而不释放的情况下,会导致内存使用不断增加,最终可能耗尽可用内存,导致内存泄漏或其他内存相关错误。在LwIP中,每当通过pbuf_alloc成功分配了一个pbuf后,就应该在这个pbuf不再需要时使用pbuf_free来释放它,以避免内存泄漏。在函数Ethernet_sendPack中,使用了pbuf_alloc来分配一个新的pbuf结构体,如果在主循环中重复调用这个函数,并且每次调用都成功分配了内存,但没有在发送数据后释放这些内存,这将会导致内存泄漏。实际是出现内存泄漏的问题。

2024-03-27 17:02:10 422 1

原创 GOOSE报文分析

传统变电站的设计规范和原则可以移植到智能变电站,原有的各种回路的功能可以通过GOOSE的输入输出端子来定义和实现,即通过对GOOSE的数据集、控制块和GOINGGIO节点进行预定义后实现其功能。这种过滤的实现是通过订阅方将一个GOOSE报文的目标地址列表配置到接收端的网络适配器中并控制适配器的工作模式,将所有接收到的报文头的目标地址与目标地址列表的内容进行比对,若比对成功,则认为接收的报文是自己所订阅和需要的,然后就将该报文从网络控制器读取到CPU里以进行下一步的解析,否则就丢弃掉该报文。

2024-03-13 19:29:49 2381

原创 SCL配置文件中的GOOSE信息

DataSet 下定义了发送数据FCDA(具有特定功能约束值的 DATA)FCDA需要配置的属性有:ldInst、prefix、lnClass、InInst、doName、daName,这些属性值共同组成了发送数据的引用路径。其需要配置的属性有:控制块名字 name、描述 desc、所关联的被传输的数据集 dataSet、配置版本号 confRef、控制块类型 type、应用标识 appID。IED中的访问点apName,与IED定义下的Access Point的name 相一致。

2024-03-13 19:06:08 578

原创 三极管使用介绍

如果 P1.0 由程序给一个高电平 1,那么基极 b 和发射极 e 都是 5V,也就是说 e到 b 不会产生一个 0.7V 的压降,这个时候,发射极和集电极也就不会导通,那么竖着看这个电路在三极管处是断开的,没有电流通过,LED2 小灯也就不会亮。最后一个概念,电流控制。以SC1475A2的蓝牙复位电路为例,9013是NPN型三极管,集电极连接3.3V电源,基极连接控制管脚,发射极接地,如果要使得控制信号有效,产生大于0.7V的压降,需要B和E之间导通,①当PC2为低电平时,B和E之间没有压差。

2024-02-29 19:27:41 1134

原创 C语言回调函数使用以及简单示例

今天遇到了回调函数的问题,在此记录一下,回调函数的本质是一个函数指针。

2024-02-04 18:43:22 671

原创 IEC61850应用入门

本文为IEC61850入门学习内容,详细内容参考IEC61850标准第六章和第七章节

2024-01-19 10:13:08 1901

原创 如何在IEC61850的ICD文件中添加新的DO节点

IEC61850的数据建模,实际上就是将设备的点表按照IEC61850标准的规则编写的一份点表文件,该点表以XML的格式描述,后缀名为.icd,另一个名字叫智能电子设备能力描述文件。

2024-01-10 19:38:59 1151 4

原创 ARM Cortex-Mx 权威指南笔记—SysTick定时器

通过本次学习你可以学到:1、什么是SysTick定时器?2、Systick定时器的操作。3、如何使用Systick定时器。正文内容参考 ARM Cortex-Mx 权威指南笔记 9.5小节。SysTick定时器是Cortex-M处理器内部集成的名为系统节拍定时器,属于NVIC的一部分,并且可以产生Systick异常,是一个向下计数的24位定时器。可以作为一个周期的中断来触发内核,需要保证处理器运行在非特权模式下无法禁止该定时器,以免锁定系统。使用Systick定时器增加了软件的可移植性。

2024-01-08 19:37:13 854 2

原创 ARM Cortex-Mx 权威指南笔记

ARM权威指南学习笔记

2024-01-05 04:30:00 547

原创 一种多串口冗余设计解决思路

总共11个串口,现在每个串口接收BUFF分配1024个字节的收发缓冲区。原始方法将11个串口全部进行初始化,分配大串口,由于单片机RAM不足,现在将串口1和串口2固定分配为大串口,串口3-11随机选择2个作为大串口,其他串口BUFF缓冲区配置为256字节的小串口,总体可以节约5k左右ram空间。

2024-01-04 04:15:00 470

原创 数据结构—环形缓冲区

环形数组(Circular Array)是一种特殊类型的数组,其元素在内存中首尾相接,形成一个环形。由于环形数组的元素在内存中是首尾相接的,因此不需要为数组的头部和尾部留出额外的空间。易于实现动态扩展:当需要增加更多元素时,环形数组可以通过简单地扩展现有数组的大小来实现动态扩展,而无需重新分配和复制原有数据。由于环形数组的特性,当索引超出数组的界限时,会自动回到数组的开头或结尾,避免了常规数组越界访问导致的错误。环形数组保持了数据的连续性,这有助于提高数据访问的局部性,从而优化CPU缓存的性能。

2024-01-03 13:55:52 703

原创 模糊PID之matlab模糊控制器配置

使用模糊PID时,需要对工具库进行配置,模糊PID是由2个输入个3个输出组成,输出是E和Ec,输出是Kp、Ki和Kd。打开matlab后,需要配置fuzzy工具箱

2022-11-29 09:54:36 6862 3

原创 MYSQL之视图的使用

MYsql数据库中视图的使用,包括创建、修改、删除等操作

2022-09-19 13:38:05 1146

原创 QT的多种功能使用记录

QT的使用记录

2022-09-11 18:48:47 478

原创 QT绘制饼图+柱状图+折线图

使用qt绘制,折线图,饼图,柱状图,多柱状图

2022-09-08 20:59:19 3281

原创 笔试刷题Day—10

1、括号匹配2、二分查找

2022-09-01 03:00:00 282

原创 笔试刷题Day—9

1、不用加减乘除做加法 2、将有序数组转换为二叉搜索树

2022-08-31 18:00:00 264

原创 MYsql库、表的管理和视图

包括数据库的创建、修改、删除。包括数据表的创建修改删除。还有视图的概念解释,视图的使用场景。

2022-08-31 10:39:33 365

原创 QT提取数据库内容,根据不同字段要求显示不同颜色

qt提取mysql中的内容,根据不同的字段显示不一样的颜色

2022-08-30 22:01:36 835 3

原创 笔试刷题Day—8

1、两数之和 2、实现strStr

2022-08-29 21:55:18 190

原创 笔试刷题Day—7

1、二叉树的宽度 2、字符串的排列

2022-08-29 08:50:52 159

原创 笔试刷题Day—6

1、合并链表 2、重构二叉树

2022-08-27 21:15:15 148

原创 笔试刷题Day—5

1、调整数组顺序使得奇数在偶数前面2、青蛙跳台阶3、0~n-1中缺失的数字

2022-08-26 23:22:12 192

原创 笔试刷题Day—4

快速排序和剪绳子

2022-08-25 22:04:07 139 2

原创 笔试刷题Day—3

二叉树节点的删除、旋转数组、二叉搜索树的第K大节点

2022-08-24 15:17:27 188

原创 笔试刷题Day—2

1、二进制加法2、从尾到头打印链表3、镜像二叉树

2022-08-23 16:23:32 252

原创 笔试刷题Day—1

1、数组中重复元素2、两个栈实现队列3、逆波兰表达式求值

2022-08-22 21:56:07 565

原创 Redis数据库学习记录

一、redis的存储格式都以键值对的形式存储的。nosql数据库。关系和非关系数据库的区别。1、结构化和非结构化2、关联和非关联3、SQL查询和非SQL查询4、事务性差异总结:安装多看官方文档。

2022-08-18 08:20:07 188 2

原创 STM32之串口传输结构体

传输数据还可以,上位机解析数据耽误了一个下午的时间特此来记录一下!这里将16位数据转成8位数据转发到上位机。

2022-08-10 21:27:57 3030 8

原创 IMX6ULL—汇编LED灯

主要介绍汇编驱动LED灯的过程。

2022-08-09 11:14:01 1244

原创 ARM 汇编基础

ARM 不能直接访问存储器,比如 RAM 中的数据,I.MX6UL 中的寄存器就是 RAM 类型的,用汇编来配置I.MX6UL寄存器的时候需要借助存储器访问指令,一般先将要配置的值写入到 Rx(x=0~12)寄存器中,然后借助存储器访问指令将Rx中的数据写入到 I.MX6UL寄存器中。根据 ATPCS 规则,ARM 使用的 FD 类型的堆栈,SP 指向最后一个入栈的数值,堆栈是由高地址向下增长的,也就是前面说的向下增长的堆栈,因此最常用的指令就是 STMFD 和 LDMFD。......

2022-08-08 19:53:41 502

原创 Cortex-A7 MPCore 架构

Cortex-A7 MPcore 处理器支持 1-4 核,在 28nm 工艺下,Cortex-A7 可以运行在1.2-1.6GHz,Cortex-A7 在获得与 Cortex-A9 相似性能的情况下,其功耗更低。Cortex-A7 MPCore 支持在一个处理器上选配 1-4 个内核,Cortex-A7 MPCore 多核配置如图:L1 可选择 8KB、16KB、32KB、64KB,L2L2 Cache 可以不配,也可以选择 128KB、256KB、512KB、1024KB。......

2022-08-08 11:03:24 1732 1

原创 QT线程池的使用

线程池的介绍与实例化演示

2022-08-07 16:21:21 1065

原创 C++STL容器之map

map容器中都是键值对。可以快速从大量数据中找到数据。如:身份证和人名所有的元素都按照key值自动排序。

2022-08-05 22:00:13 496

原创 Json格式数据以及QT操作Json数据

Json 是一种数据格式,和语言无关,在什么语言中都可以使用 Json。

2022-08-03 20:25:32 1426

高并发服务器源码web_server

此资源为高并发服务器开发的源码

2022-09-23

基于C++的机房预约系统

C++机房预约系统实战项目,在linux环境下运行,包括makefile文件,教师端,学生端,管理员端。实现对学生预约机房的增删改查。技术栈包括C++、vector容器、文件io操作,多态,封装,继承等。对学习和巩固C++有很大的帮助。还包括字符串的解析操作,解析键值对字符串来完成学生预约信息的显示,对往后学习json字符解析有很大的帮助。项目内容不多 ,一天半看完视频,自己手敲一下估计也很快完事。

2022-07-30

基于STM32F407的火焰传感器报警测试

火焰传感器的测试代码,开发板为正点原子探索者STM32F407,主要测试火焰传感器的功能,提供源码和实现方法。当打火机打火的时候,引脚电平为高,蜂鸣器报警。

2021-06-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除