摘要: 全局变量的定义是会得到内存分配且可以被其他模块通过C语言中extern关键字调用的变量。所以,必须在 .C 或 .H 文件中定义,此种方法很容易导致错误。 以下为UCOSIII中定义全局变量的方法: 部分源码(Os.h文件中): #ifdef OS_GLOBALS #define OS_EXT #e 阅读全文
posted @ 2020-01-12 18:46 dongry 阅读(2297) 评论(0) 推荐(0) 编辑
摘要: 1 简介 定时器其实就是一个递减计数器,当计数器递减到0的时候就会触发一个动作,这个动作就是回调函数,当定时器计时完成时就会自动的调用这个回调函数。因此我们可以使用这个回调函数来完成一些功能设计。比如,定时10秒后打开某个外设等等,在回调函数中应避免任何可以阻塞或者删除定时任务的函数。 如果要使用该 阅读全文
posted @ 2019-10-20 11:22 dongry 阅读(1408) 评论(0) 推荐(0) 编辑
摘要: 1. SD卡基础 SD卡(Secure Digital Memory Card)为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备,它被广泛地应用于便携式装置上使用,例如数码相机、个人数码助理(PDA)和多媒体播放器等。SD卡由日本松下、东芝及美国SanDisk公司共同研制。SD卡拥有高记忆容 阅读全文
posted @ 2019-08-03 15:26 dongry 阅读(826) 评论(0) 推荐(0) 编辑
摘要: 1.缓存区的制作 思路:按照输入数据的顺序输出数据 简单地数据存储: fifo_buf.next的起始点是0,所以最初存储的数据是fifo_buf.data[0],下一个是fifo_buf.data[1],依次类推,一共32个存储位置。 下一个存储位置有用变量next管理,这样就可以记住32数据而不 阅读全文
posted @ 2019-07-07 11:14 dongry 阅读(3382) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/ranson7zop/p/7657874.html 感谢大神 阅读全文
posted @ 2019-06-12 17:37 dongry 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 一 八拍 八个状态: 1 给A与A-正电压,B与B-不给电压; 2 给A与A-正电压,给B与B-正电压; 3 A与A-不给电压,给B与B-正电压; 4 给A与A-负电压,给B与B-正电压; 5 给A与A-负电压,B与B-不给电压; 6 给A与A-负电压,给B与B-负电压; 7 A与A-不给电压,给B 阅读全文
posted @ 2019-04-29 09:51 dongry 阅读(5373) 评论(0) 推荐(0) 编辑
摘要: 1 图的定义 多对多的数据结构,由顶点的非空集合和顶点之间的边的集合组成; 1.1 图的概念 数据元素 在线性表中称为元素;在树中称为结点、在图中称为顶点 数据元素集合 在线性表中可以没有元素称为空表;在树中可以没有结点称为空树;在图中不能没有顶点,即顶点集合不能为空 数据元素之间的关系 在线性表中 阅读全文
posted @ 2019-04-22 16:15 dongry 阅读(806) 评论(0) 推荐(0) 编辑
摘要: 1 查找 根据给定的值,在查找表中确定一个其关键字等于给定值的数据元素 查找表:由同一类数据元素构成的集合 静态查找表:只做查找操作的查找表 动态查找表:在查找过程中,还可以进行插入或删除操作的查找表 关键字:数据元素中某个数据项的值 主关键字:可以唯一标识一个记录的关键字 次关键字:可以标识多个记 阅读全文
posted @ 2019-04-22 16:14 dongry 阅读(1748) 评论(0) 推荐(2) 编辑
摘要: 排序的定义 假设含有n个记录的序列为{r1,r2,r3,...,rn} 其相应的关键字为{k1,k2,k3,...,kn} 需确定一种排序列p1,p2,p3,...,pn 使其相应的关键字满足kp1<kp2<kp3<...<kpn关系 即使得序列成为一个按关键字有序的序列{rp1,rp2,rp3,. 阅读全文
posted @ 2019-04-22 16:13 dongry 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 1 编译内核出错:drivers/mfd/ezx-pcap.c:213: error: implicit declaration of function 'irq_to_gpio' 解决方法:a:在(/drivers/mfd/ezx-pcap.c)中 添加头文件#include <linux/gpi 阅读全文
posted @ 2019-04-22 11:32 dongry 阅读(216) 评论(0) 推荐(0) 编辑
摘要: C语言中main函数的参数有两个,这两个参数写为argc和argv.因此,main函数的函数头可写为:main(argc,argv);C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为: int main 阅读全文
posted @ 2019-04-18 15:27 dongry 阅读(9716) 评论(0) 推荐(2) 编辑
摘要: 1 算法原理 基本原理从某处摘得:设直线方程为yi+1=yi+k(xi+1-xi)+k。假设列坐标象素已经确定为xi,其行坐标为yi。那么下一个象素的列坐标为xi+1,而行坐标要么为yi,要么递增1为yi+1。是否增1取决于误差项d的值。误差项d的初值d0=0,x坐标每增加1,d的值相应递增直线的斜 阅读全文
posted @ 2019-04-18 15:09 dongry 阅读(7097) 评论(0) 推荐(2) 编辑
摘要: 以read为例: read是一个系统调用,系统调用之前在应用程序当中(或者叫用户空间当中),read的实现代码在内核中,read是如何找到内核的实现代码呢? 这个应用程序就是打开字符设备文件,然后使用系统调用,去读取里头的数据, 用 arm-linux-gcc static –g read_mem. 阅读全文
posted @ 2019-04-18 14:10 dongry 阅读(1528) 评论(0) 推荐(0) 编辑
摘要: 大部分驱动程序除了需要提供读写设备的能力外,还需要具备控制设备的能力。比如: 改变波特率 1 设备控制应用函数 在用户空间,使用ioctl系统调用来控制设备,原型如下: int ioctl(int fd,unsigned long cmd,...) fd: 要控制的设备文件描述符 cmd: 发送给设 阅读全文
posted @ 2019-04-18 14:10 dongry 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 1 系统调用:(SYSTEM CALL) 操作系统(operating system)内核中有一组实现系统功能的过程,系统调用就是对上述过程的调用。程序员利用系统调用,向OS提出服务请求,由OS代为完成。 一般情况下进程是不能够存取系统内核的。它不能存取内核使用的内核段,也不能调用内核函数,CPU的 阅读全文
posted @ 2019-04-18 14:09 dongry 阅读(9381) 评论(0) 推荐(1) 编辑