Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1258183
  • 博文数量: 160
  • 博客积分: 4132
  • 博客等级: 中校
  • 技术积分: 2086
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-06 21:56
文章分类

全部博文(160)

文章存档

2012年(25)

2011年(120)

2010年(15)

分类: LINUX

2011-02-09 15:40:36

一、驱动:

1UART等地址 存放和定义在*.h 头文件中

(通过类似:#define UART_?? __REG(0x?? + 0x??)实现)

2)驱动主程序①_open  函数:打开串口、设置实验板寄存器(通过UART_??=0x??

             _release函数:关闭端口、释放资源(内核函数_release)

_read  函数:用于从陀螺仪读入数据,

先检查接收寄存器标志位(通过UART_?? & 0x??实现)

分为AB俩种情况:

A:如果标志是1,则等待接收原数据;

B:如果标志是0,则直接读入buff

_write 函数:用于向陀螺仪发出数据,

先检查发送寄存器标志位(通过UART_?? & 0x??实现)

A:如果标志是1,则等待发出新数据;

B:如果标志是0,则直接发出buff中现有数据;

_ioctl  函数:将读入的数据写入文本中。(利用fwrite

            先检查是否有文本存在。

A:试读文本fopen("data.txt ","r")存在该文本则跳至步骤C,否则程序跳至步骤B

B:建立data.txt文本。(通过fopen("data.txt ","w+ ") )

C:向文本写入读取到值 fwrite(buff,strlen(buff),?,B函数)

static struct file_operations结构,连接内核与驱动。

static int __init 以下四个函数为驱动格式。

static void __exit

module_init(_init); 
module_exit(_exit); 

 

二、测试程序:

    1open函数:启动设备文件

2readwrite函数:调用_read _write函数,收发控制字步骤为:

首先要进入设置模式:

A:发送TX: FA FF 30 00 D1

B:串口接收数据为RX: FA FF 31 00 D0

设置输出模式:(模式为calibration + orientation data

A:发送TX: FA FF D0 02 00 06 29

B:串口接收RX: FA FF D1 00 30

设置输出数据的格式:

(数据输出格式为Euler orientation output + sample counter

A:发送TX: FA FF D2 04 00 00 00 05 26

B:串口接受数据为RX: FA FF D3 00 2E

设置采样时间1 / 120 sec (= 120Hz)

A:发送命令内容为TX: FA FF 04 02 03 C0 38

B:串口接受数据为RX: FA FF 05 00 FC

进入测量模式:

A发送命令内容为TX: FA FF 10 00 F1

B:串口接受数据为RX: FA FF 11 00 F0

开始接受数据:

A串口接受数据为RX: FA FF 32 32 后面是50个字节的数据(包括36字节的calibration data+12字节的Euler orientation output+ 2字节采样值)最后是CS校验码,

    3ioctl函数:将收到的数据写入文本文档。



好些天没来博客了 其实也就是好些天没学嵌入式了。
春节所有亲戚都说让我赶紧找工作的事儿 这不奇怪就业压力大么,可奇怪的是他们一水儿劝我不要走太专业的路。
我不排斥其他职业,我也知道我不可能完成我所有的理想,不过工作的理想 我会坚持三分之二吧。今天去给T逸讲毕设的事儿 看他坚持他的梦想 真是很羡慕。我会朝我的梦想跑 也会对现实让步的。
前些天突然想起首歌叫 三分之一理想,郑钧唱的,挺符合我现在的心境。
阅读(3416) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

sillyboytao2011-02-14 22:47:02

diytvgy: 工作专不专业不要紧,自己喜欢就好。
互勉.....
恩 三分之二的梦想吧 哈哈

sillyboytao2011-02-14 22:46:28

riribi: .....

riribi2011-02-11 13:42:22

diytvgy2011-02-10 21:45:05

工作专不专业不要紧,自己喜欢就好。
互勉