1.7k 2 分钟

# 8P8C(RJ45) 8P8C,常被误称为 RJ45,嘛,现在已经被叫成 RJ45 了,是以太网使用双绞线连接时常用的一种连接器插头。 8P8C(8 position 8 contact)的意思是 8 个位置(Position,指 8 个凹槽)、8 个触点(Contact,指 8 个金属接点)。 # TIA/EIA-568 1、接口 2、接线 在 T568A 中,与之相连的 8 根线分别定义为:白绿、绿;白橙、蓝;白蓝、橙;白棕、棕。 T568A 可以跟早期的 USOC 向下兼容。 在 T568B 中,与之相连的 8...
2k 2 分钟

# 差分信号跟单端信号 **1、差分信号:** 指在两根线上都传输信号,这两个信号的大小相等,极性相反,这两根线上传输的信号就是差分信号(差模信号),简单的说就是在同一时间段内,通过比较这两个电压的差值来判断逻辑状态 “0” 还是 “1” 。 **2、单端信号:**...
8.5k 9 分钟

继上一篇 cJSON 库 API 解析(上),本篇为下篇,以解析 JSON 数据包为主 # JSON 数据解析 在 cJSON 里,解析 JSON 数据包,其实就是通过搜寻对应的配对关键符号或者关键字,然后一个一个剥离成为链表节点 (键值对) 的过程。 其所支持的解析函数有以下几个: CJSON_PUBLIC(cJSON *) cJSON_Parse(const char *value); CJSON_PUBLIC(cJSON *) cJSON_ParseWithLength(const char *value, size_t...
7.9k 8 分钟

cJSON 项目可以说是一个很适合学习及应用 C 语言中的链表的项目,刨析它的源码,你会惊叹它设计之巧妙,其代码为之简洁;同时,在嵌入式应用场景中也经常发现它的身影。 本系列分为上下两篇,其中上篇以应用分析其 JSON 数据封装为主。 # 介绍 在认识 cJSON 之前,先来认识一下 JSON: JSON(JavaScript Object Notation,JavaScript 对象表示法,读作 /ˈdʒeɪsən/)是一种由道格拉斯・克罗克福特构想和设计、轻量级的资料交换语言,该语言以易于让人阅读的文字为基础,用来传输由属性值或者序列性的值组成的数据对象。JSON...
5.5k 6 分钟

# 任务通知的特性 通过任务通知,无需单独的通信对象,任务就可以与其他任务进行交互,以及与 ISR 同步。通过使用任务通知,任务或 ISR 可以直接向接收任务发送事件。 任务通知可以通过以下几种方式更新接收任务的通知值: 直接设置而不用覆写接收任务的通知值。 覆写接收任务的通知值。 设置接收任务通知值的一个或多个 bit 位。 增加接收任务的通知值。 相对于使用中介对象发送到任务(这样的例子对象是队列,信号量,互斥对象和事件组)如下图: 任务通知是一种将事件直接发送到任务的方法,而无需这样做中介对象: 任务通知功能是可选的,要包含任务通知功能,请在 FreeRTOSConfig.h...
12k 12 分钟

# 介绍 MD5 消息摘要算法,英文全称:Message-Digest 5 Algorithm,是一种被广泛使用的密码散列函数,可以产生出一个 128 位(16 字节)的散列值(hash value),用于确保信息传输完整一致。但是,很不幸,自 1996 年后被证实存在弱点,可以被加以 “破解”;可由于这种算法的公开性和安全性,在 90 年代被广泛使用在各种程序语言中,用以确保资料传递无误等,对于非严格的安全信息,还是值得推选的;同时也是哈希算法的一种。 MD5 算法的算法特点如下: (1)压缩性:任意长度的数据,算出的 MD5 值长度都是固定的。 (2)容易计算:从原数据计算出 MD5...
4.3k 4 分钟

好久没写硬件的笔记了,写这篇笔记是因为在网上或者在现有的书上查阅相关知识点的时候,发现大多数东西都是一略带过、不全面,而且内容讲的有点沉闷,容易让人呼呼入睡(ps:这里绝对没有瞧不起作者的意思哈,可能风格有点不适应),所以想着以后可能也会用到,还是自己总结一篇吧。 本篇主要分析半导体存储电路(其中包括时序图跟真值表),但由于涉及到逻辑门电路,所以就一并放在一起总结了。嘛,原本的标题是想写 “半导体存储电路分析” 的。。。 # 逻辑门电路 # 与、或、非 与门 特点:所有输入为高电平时(逻辑 1),才会有高电平(逻辑 1)输出;其中一个输入为低电平(逻辑 0)则出低电平(逻辑...
19k 20 分钟

SDCC 是一个小型设备的 C 语言编译器,该编译器支持标准 C 语言;相对于 GCC 编译器来说可能知名度不是很高,但它跟 GCC 一样,是跨平台,并且遵循 GPL 开源协议。本次实验是使用 nuvoton 的 MS51 系列单片机来操作(基于 8051 内核) sdcc 官方网址:http://sdcc.sourceforge.net/ Wiki 主页:https://sourceforge.net/p/sdcc/wiki/Home/ # 关于 SDCC SDCC 是可重定目标的、优化的标准 C(ANSI C89,ISO C99,ISO C11)编译器套件,针对的是基于 Intel...
1.9k 2 分钟

# CPU 中央处理器 (英语:Central Processing Unit,缩写:CPU)是计算机的主要设备之一,功能主要是解释计算机指令以及处理计算机软件中的数据。计算机的可编程性主要是指对中央处理器的编程。1970 年代以前,中央处理器由多个独立单元构成,后来发展出由集成电路制造的中央处理器,这些高度收缩的组件就是所谓的微处理器,其中分出的中央处理器最为复杂的电路可以做成单一微小功能强大的单元,也就是所谓的核心。 它是一台计算机的运算核心和控制核心。CPU 由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。差不多所有的 CPU 的运作原理可分为四个阶段:提取...
6.5k 7 分钟

# 限幅滤波法(又称程序判断滤波法) # A、方法: 根据经验判断,确定两次采样允许的最大偏差值(假设设为 A) 每次检测到新值时判断: 如果本次值与上次值之差 <= A, 则本次值有效 如果本次值与上次值之差 > A,则本次值无效,放弃本次值,用上次值代替本次值 # B、优点: 能有效克服因偶然因素引起的脉冲干扰 # C、缺点: 无法抑制那种周期性的干扰 平滑度差 # D、代码: #if LIMITINGData_Typedef Limiting_Filter( Data_Typedef Value, int Range ){...