- 博客(17)
- 收藏
- 关注
转载 Linux对spi总线支持(Linux中Documentation对SPI总线介绍)
什么是SPI? “串行外围接口”是一个同步的四线制串行线,用于连接微控制器和传感器、存储器及外围设备。三条信号线持有时钟信号(SCLK,经常在10MHz左右)和并行数据线带有“主出,从进(MOSI)”或是“主进,从出(MISO)”信号。数据交换的时候有四种时钟模式,模式0和模式3是最经常使用的。每个时钟周期将会传递数据进和出。如果没有数据传递的话,时钟将不会循环。SPI主设备使用
2015-02-09 14:14:22
560
原创 make 出现问题集锦
问题一 Makefile:1: *** missing separator. Stop. 对makefile中命令行进行修改,命令行必须以TAB开始才可,对此修改后,错误解决。
2015-01-08 13:33:58
401
转载 CPU寻址范围
一、寻址空间 寻址空间一般指的是CPU对于内存寻址的能力。通俗地说,就是能最多用到多少内存的一个问题。数据在存储器(RAM)中存放是有规律的 ,CPU在运算的时候需要把数据提取出来就需要知道数据在那里 ,这时候就需要挨家挨户的找,这就叫做寻址,但如果地址太多超出了CPU的能力范围,CPU就无法找到数据了。 CPU最大能查找多大范围的地址叫做寻址能力 ,CPU的寻址能力以字节
2014-07-03 09:59:21
1298
1
转载 Debug与Release版本区别
Debug版本就是调试版本,Visual C++ 6.0默认的就是Debug版本。在Debug版本中,可以使用单步执行、跟踪等功能,但其生成的可执行文件比较大,代码运行比较慢。Release版本就是发行版本,其运行速度较快,可执行文件较小,但在其编译条件下无法执行调试功能。 还有一点,Release版本的exe文件链接的目标是标准的MFC DLL(Use MFC in a sha
2014-06-28 14:25:58
366
转载 const变量不能初始化数组长度
为什么下面的例子在使用一个const变量来初始化数组,ANSI C的编译器会报告一个错误呢? const int n = 5; int a[n]; 答案与分析: 1) 这个问题讨论的是“常量”与“只读变量”的区别。常量肯定是只读的,例如5, "abc",等,肯定是只读的,因为常量是被编译器放在内存中的只读区域,当然也就不能够去修改它。而“只读变量”则是在内存中开辟一个地方
2014-06-23 19:54:49
935
原创 词法“陷阱”
程序是由符号序列组成的,将程序分解成符号的过程称为“词法分析”。第一章考察在程序被词法分析器分解成各个符号的过程中可能出现的问题。 在C语言中,符号之间的空白(包括空格符、制表符和换行符)将被忽略。1.1 = 不同于 == 在使用过程中经常由于粗心而导致两者的误用,比如
2014-06-07 16:44:46
432
转载 函数的声明
看了C陷阱与缺陷,第一个给我震撼的就是理解函数声明了,下面是我的理解。1.理解函数声明 为了模拟开机启动时的情形,我们必须设计出一个C语句,以显示调用位于地址0的子例程。调用语句如下: (*(void (*)())0)();胆颤了吧?首先我们从函数的声明说起:有如下一个函数 void func(){...}那么,要想声明一个函数指针,指向这类函数,怎样
2014-06-04 08:46:16
305
转载 commands commence before first target
makefile时常遇到这样的问题,汇总网上的原因如下:1. 上一行换行符号 \ 后面有空格2. 本行前面的空白有非法字符1)Makefile可能是以命令行开始:以[Tab]字符开始,但不是一个合法的命令行(例如,一个变量的赋值)。命令行必须和规则一一对应。 2)产生第二种的错误的原因可能是一行的第一个非空字符
2014-05-29 10:33:57
576
原创 Makefile中make嵌套使用以及VPATH使用
如果大家编译过内核的话,你会发现linux源码中有很多的makefile,每个目录下都有一个makefile,当你在根目录下执行make命令的时候,其实是执行根目录下的makfile,然后再根目录下的makefile再执行各个目录下的makefile文件,这是到底怎么实现呢?其实这就是makefile的嵌套执行,下面是我学习的时候总结的: 我在/study_mk中建立了一个目录1.
2014-05-26 16:29:59
672
原创 makefile中解决Makefile:XX:missing separator. Stop.问题
出现这样的提示就表示Makefile中有不可识别的命令行,make在读取Makefile过程中不能解析其中包含的内容。其中
2014-05-26 16:01:31
1097
转载 Makefile中VPATH与vpath
在Linux操作系统管理中,经常需要用到make命令来编译一些源代码。如内核升级,驱动程序安装等过程中,就需要用到这个命令。关于这个命令的使用技巧已经是老生常谈了。不过笔者这次要谈的是一个被大家所忽视的细节,即VPATH与vpath的区别,以及其在make命令中的应用。 一、让系统自动取寻找文件到依赖关系。 在利用make命令来编译一些大型项目时,往往会涉及到大量的源文件。可能
2014-05-26 15:09:39
585
转载 C语言中volatile关键字的作用
一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的
2014-05-26 10:05:52
322
转载 (转)ioctl()
一、 什么是ioctl。 ioctl是设备驱动程序中对设备的I/O通道进行管理的函数。所谓对I/O通道进行管理,就 是对设备的一些特性进行控制,例如串口的传输波特率、马达的转速等等。它的调用个数 如下: int ioctl(int fd, ind cmd, …); 其中fd就是用户程序打开设备时使用open函数返回的文件标
2014-05-07 09:29:05
493
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人