自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

利用内存来便捷处理一个数组的加减

利用内存来便捷处理一个数组的加减,在离职前竟然还能学点东西。废话不说,上代码吧。#include <stdio.h>int main(){ char array[5] = {0x12, 0x34, 0x56, 0x78}; long *l = array; printf("long型值为:%lx\n", *l);...

2012-03-24 08:38:00 121

Linux device drives 5(并发与竟态)

竟态会导致对共享数据的非控制访问。发生这种错误模式的访问,会产生非预期结果。内核提供了许多可延迟代码执行的机制,比如workqueue(工作队列)、tasklet(小任务)、以及timer(定时器),而且内核代码可以是抢占式的。对于竟态的发生时很有可能的,虽然竟态一般都是小概率时间,但是带来的危害却很大。对于这种竟态问题,只要有可能就应该避免资源的共享。处理并发和竟态的办法就是把这个共...

2012-03-24 00:03:00 122

Linux device drives chapter 4(调试技术)

第四章 内核调试技术内核调试技术支持make menuconfig对内核进行配置在kernel hacking这一项中包含了一些内核的调试支持makemenuconfig之后就会看到kernel hacking选项一些内核调试选项有如下说明:(通过搜索找到的)CONFIG_DEBUG_KERNEL -> kernel hacking->Kernel deb...

2012-03-17 23:37:00 149

Linux device drives chapter 3(字符设备)

第三章字符设备驱动程序1.对字符设备的访问是通过文件系统内的设备名称的,那些名称成为特殊文件、设备文件,或者简单称之为文件系统树的节点,他们通常存在在/dev/下面,字符设备是ls 前面是‘c’的表示字符设备,b的表示块设备。如下图:ls 查看字符设备文件的时候,在时间前面2012-03-10 的200是主设备号、0代表次设备号 。调用mknod/dev/leok c 20...

2012-03-11 22:09:00 105

恩尼格玛密码机原理解析(Enigma principle )

恩尼格玛机也结合了机械系统与电子系统。机械系统包括了一个包含了字母与数字的键盘,相邻地排列在一个轴上的一系列名为“转子” 的旋转圆盘,还有一个在每次按键后就使一个或几个转子旋转的装置。各种恩尼格玛机上的机械系统都各为不同,但是,但是它们之间最大的共同点就是在每次按键后最右边的转子都会旋转,并且有些时候与它相邻的一些转子也会旋转。转子持续的旋转会造成每次按键后得到的加密字...

2012-03-10 16:19:00 6181

CC2430 Joystick硬件说明

CC2430 Joystick 硬件说明1 目标 学习了CC2430的AD,UART和Timer之后,感觉自己有点入门了,接着做一点人机交互的内容。在这里我介绍一下Joystick的硬件连接。刚开始看Joystick的硬件部分的时候,还很的觉得有点麻烦的,后来把这个电路分解为反相放大器,同相放大器之后,问题就好解决多了。2 分解Joystick的4个按钮 刚开始拿到原理图的时候...

2012-03-07 16:26:00 183

CC2430 片内AD使用详解——查询法

CC2430 ADC使用——查询法1 目标 熟悉使用CC2430的ADC功能。根据我自己开发板的情况,我使用P07作为AD转换的输入口,使用一个旋转电位器来调整输入端口的电压,通过串口发送AD转换结果。在这里还是说说ADC的结构。CC2430的ADC是基于sigma-delta原理,而不是常用的逐次比较式,通过不同的抽取率来实现不同的转换精度。2 代码总览 还是老规矩,先...

2012-03-06 20:42:00 283

CC2430 标志和屏蔽的含义

CC2430 CC2530标志和屏蔽的含义在学习CC2430的时候,经常遇到“屏蔽”和“标志”等术语。在阅读《ZIgBee技术实践教程》时,发现书中部分寄存器中关于“屏蔽”和“标志”的说明和数据手册有出入,所以在这里归纳一下。XX屏蔽,以IM结尾interrupt mask例如OVFIM,T1CCTL1.IM。这些标志决定了中断是否发生。如果该位置位,则该中断条件满足时会发生中断。注意...

2012-03-05 20:32:00 110

CC2430 定时器溢出中断 详解

定时器1使用总结——溢出中断1 目的说明 实现定时器最简单的溢出中断,结合我手头的开发板,使得位于P10的LED灯,以2HZ的速度不断闪烁。这样的实验还是非常亲切的,让我想起了第一次在51上实现了这样的代码,自己第一次在CC2430上实现,依然非常激动。2 使用方法概述 需要使用定时器的中断,需要知道如何操作才可以产生这个中断请求。数据手册中提到需要两个条件,第一IEN1.T1EN...

2012-03-05 19:38:00 4154 1

CC2430 CC2530 AD转换分辨率之“争”

本周五开始就开始学习CC2430的AD转换模块。看似简单,但是费了我休息日全部的时间。其中最严重的问题——这个片内的AD转换的分辨率到底是多少位,12位还是14位。 开门见山:经过多次试验和查找的资料,我认为TI的数据手册是对的,最高分辨率为12位,分为4档 7位,9位,10位和12位。毫无疑问,CC2430/CC2530中的片内AD转换器采用simga-delta原理,和大多数的逐次比较式...

2012-03-04 21:31:00 304

Linux device drives chapter 2(构造和运行模块)

Linux device drives chapter 21.如果你想编译驱动程序,那么你的系统必须存在构造好的内核源码树,否则驱动编译的时候头文件和链接文件找不到。2.linux驱动程序的运行不依赖于c库,不能调用c库中的函数,但是一般c库中的函数在内核都有实现。照这个模式是可以使用c库函数,但使用的不是c库的。3.对于驱动模块的加载insmod rmmod只有超级用户 ro...

2012-03-04 01:11:00 63

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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