自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 一种链表节点快速查找并锁定方法

先说下这个“题目”的背景,在开发一种云网关,这种网关的主要功能是集成硬件驱动,比如Modbus、DL/T645、S7PPI等工控现场驱动,采集工控现场数据,然后将数据传输到云平台上(阿里云、华为云等)。相当于在网关中嵌入了一个 小型的 工控组态软件,对于工控软件,常规的操作流程是: 1、创建设备...

2019-09-30 21:25:14

阅读数 194

评论数 0

原创 C语言 带参数宏定义中 # 和 ## 知识点总结、代码分析

目录 一、宏定义中 “#”知识点 1、直接转换字符串,不展开。 2、转换出的结果一定是“字符串”。 二、宏定义中 ## 知识点 1、应用场景 2、“##”的作用是将 左右两边的参数做整体字符串拼接替换 3、经过 ## 替换后的内容必须 有一个 同名的 变量与之对应。 4、 只拼接,...

2019-09-21 21:26:46

阅读数 281

评论数 0

原创 C语言 枚举enum 知识点总结

目录 1、枚举中的值是整型。 2、枚举中的成员就是一个全局“宏”。 3、如果第1个枚举成员未赋值,第一个枚举成员默认值为整型的0。 4、没有指定值的枚举元素,其值为前一元素加1. 5、枚举元素的值可以自定义,也可以不定义。 枚举类型在C编程中经常用到,尤其是状态枚举、使得程序的可读性...

2019-09-19 22:21:15

阅读数 96

评论数 0

原创 Unix/Linux 互斥量、条件变量的作用及C代码案例分析

在分析“条件变量”这个概念之前,我们需要了解两个相关的概念,分别是:线程同步、互斥量。 1、线程同步 所谓线程同步,“同步”二字单从字面意思来看,是很容易有歧义的,起码不太容易理解是什么意思,“同步”不是同时,而是 只两个或两个以上随时间变化的量在变化过程中保持一定的相对关系(也特别拗口)。...

2019-09-15 22:26:50

阅读数 169

评论数 0

原创 Unix编程艺术:模块式编码的6个问题思考

在前面的文章《Unix编程艺术:哲学基础》中,提到的模块原则是复杂软件的一个利器,也是Unix编程艺术的核心之一,模块性体现在良好的代码中,这首先来自于良好的设计,在编写代码时,需要考虑下面这些问题,这些问题有助于提高代码的模块性。 1、有 多少全局变量?全局变量对模块化是 毒药,很容易使各模块...

2019-09-10 21:20:13

阅读数 73

评论数 0

原创 Unix编程艺术:哲学基础

目录 阐述一: 阐述二 阐述三: 1、模块原则。 2、清晰原则。 3、组合原则. 4、分离原则:策略同机制分离,接口同引擎分离。 5、简洁原则:设计要简洁,复杂度能低则低。 6、吝啬原则:除非确无 它法,不要编写庞大的程序。 7、透明性原则:设计要可见,以便 审查和调试。 8...

2019-09-09 20:54:23

阅读数 104

评论数 0

原创 cJSON库使用:特别注意事项

cJSON的简单使用——STM32移植 cJSON打包功能使用-代码案例、特别注意事项 在前面的文章中,我们对cJSON进行了一些简单分析,包括解析、打包这两种最常用功能,cJSON的移植相对简单,但是在使用的时候,还是有一些特别需要注意的地方的,这 主要是因为 cJSON库 中的一些函数会...

2019-09-07 22:32:55

阅读数 246

评论数 0

原创 cJSON打包功能使用-代码案例、特别注意事项

在前面的文章《cJSON的简单使用——STM32移植》中,分析了cJSON的简单使用和移植步骤,这个使用 案例主要 是针对 json包解析的,其实cJSON也提供 json 包 打包 功能,这里针对常用的“对象”类型json进行打包,我们主要使用到以下几个接口函数: 1、cJSON *cJSON...

2019-09-07 22:22:44

阅读数 203

评论数 0

原创 sqlite3在嵌入式Linux上的移植步骤详解

深入理解SQLite3之sqlite3_exec及回调函数 sqlite3:深入理解sqlite3_stmt 机制 sqlite3: sqlite3_step 函数 sqlite3:sqlite3_bind 函数 sqlite3:sqlite3_column 函数 sqlite3:嵌入式...

2019-09-07 21:00:50

阅读数 272

评论数 0

原创 I2C总线:通信线缆长度的影响及改进措施

本文主要从应用的层面来分析I2C的通信线缆长度的影响及改进措施,不涉及理论分析。I2C总线是嵌入式硬件中一种常用的 通信总线,比如一些时钟芯片,传感器芯片、eeprom等等都是I2C接口,这里我们先说一些共识: I2C总线确实不适合远距离通信,尤其是需要使用线缆与I2C接口器件进行通信,这里...

2019-09-05 21:35:34

阅读数 898

评论数 0

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