C语言 -- 发布订阅机制 消息的发布订阅也是一种软件的架构方式,主要是用于解耦和消息的传递。在这个消息的发布订阅机制主要有两个主要的,即:消息的发布者和订阅者。而这两者是通过一个媒介来进行消息的传递。发布订阅机制在生活当中非常容易见到这个机制。例如:微信的公众号,公众号的作者就是发布者,我们作为用户就是一个订阅者。当公众号有信息发布的时候,用户(订阅者)通过公众号这个媒介进行获取到作者(发布者)更新的内容信息。
uart——串口数据帧处理 在串口上,我们经常要对传过来的数据进行处理与解析。最经典的就是处理数据帧,数据帧是什么呢?数据帧在我看来就是一连串的数据单元。数据帧定义了一些基本的协议。例如,数据帧一般会定义出帧头、帧尾、校验位、数据位、数据长度、命令字节(CMD)命令。串口是进行处理串口数据帧的方式:一般我们通过对数据帧的处理判断接受到的数据是否符合协议上的要求,解析到数据帧的格式符合要求则执行我们要执行的操作,否则丢弃这一帧的数据包,等待下一次的数据传输过来。
Linux基础——Framebuffer(应用层驱动lcd) Framebuffer是用一个视频输出设备从包含完整的帧数据的一个内存缓冲区中来驱动一个视频显示设备。在内存缓冲区中标准上包含了屏幕上每个像素的色彩值组成。色彩值通常存储成1-bit(黑白色彩),4-bit调色版,8-bit调色板,16-bit高色彩,24-bit真色彩格式。一个额外的alpha通道有时用来保存像素透明度信息。帧缓冲设备提供了显卡的抽象描述。他同时代表了显卡上的显存,应用程序通过定义好的接口可以访问显卡,而不需要知道底层的任何操作。该设备使用特殊的设备节点,通常位于/dev/fbx目录。
Linux基础——Makefile Linux环境下的程序员如果不会使用GNUmake来构建和管理自己的工程,应该不能算是一个合格的专业程序员,至少不能称得上是Unix程序员。在Linux环境下使用GNU的make工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为Makefile文件的编写。所要完成的Makefile文件描述了整个工程的编译、连接等。...
Linux基础——GCC编译器 GCC编译器是Linux系统下常用的一个编译器,它是一个编译器集合,它可以编译多种语言,即c、c++、,java、php等多种语言。一般学习过c语言或是其他语言我们都知道要将一个c文件变成一个可执行文件,我们要经过,预处理、编译、汇编、链接等步骤才能得到一个可执行文件。而我们的GCC编译器可以通过其不同的选项来对这些步骤进行控制。......
Linux常用入门指令 学习Linux就一定要学习Linux的指令。无论你是软件还是硬件方面的。要学习Linux就绕不开Linux指令。一般来说Linux指令的组成一般是:我们对于入门掌握这些大致就足够用了。
单片机编程语言——C语言(2) C语言关系运算符逻辑运算符if、else if语句关系运算符关系运算符主要就是进行逻辑判断,主要就是运用在if、if....else if、while语句中。注意:>=, <=, ==, !=这种符号之间不能存在空格。逻辑运算符逻辑运算符也是和关系运算符一样的进行逻辑判断。一般也是运用在if、if....else if、while语句中。if、else if语句这个语法主要是进行逻辑判断用的。if语句if(表达式){ ......}其含义主要是:当里面的表达式为
单片机编程语言——C语言(1) C语言结构注释变量定义与赋值数据类型强制转换前言:我们都知道单片机要对其写指令、编程等就需要一种编程语言。在众多的编程语言中不可否认的是c语言是最适合成为单片机的编程语言的。我们在这里分享一下c语言的知识点。结构一般来说c语言的结构,一般都是包括若干个头文件(以#include" xxx ")和函数组合而成的。例:#include "stdio.h"int main(void){ printf("hello wold"); return 0;}在这里我们看到有两部分#include
蓝桥杯嵌入式定时器 在蓝桥杯中定时器的使用是很频繁的,并且定时器的使用也可以让我们的功能实现的更加的完美。我们这里就主要介绍定时器中断。我们再来看看硬件上,在stm32f1上主要是用通用定时器来进行中断的。例如:我们用定时器4进行定时器中断,并且每隔100ms串口打印数据。tim.h#include "stm32f10x.h"void tim4_init(u16 arr,u16 psc);tim.c#include "tim.h"void tim4_Init(u16 arr,u16 psc){ TI