WINCE陀螺仪驱动的实现总结

本文作者分享了在WINCE系统中编写陀螺仪驱动的过程,从理解陀螺仪工作原理到掌握控制器的读写时序,再到解决在内核中读取数据为0的问题。通过分析控制器 datasheet 和调试,最终成功实现了驱动并优化了代码。
摘要由CSDN通过智能技术生成

     这周4天的时间写了一个WINCE的陀螺仪驱动,今天调试完成,总结一下:
    由于是第一次真正的从头开始添加一个新的WINCE驱动。所以这几天大部分的工作还是在学习如何在wince中添加一个新的驱动。这个需要单独写一篇笔记来记录一下。
    上周调过i2c的矩阵键盘,这次的wince项目中挂在i2c总线上的就2个设备,矩阵键盘和陀螺仪,所以这周趁热打铁把陀螺仪驱动也写了一下,填了进去。
    开始感觉陀螺仪是很神秘的东东,于是找出来它的原理来学习了一下,但是也不是很明白,大体明白,应该就是2个围绕轴转动的环,但是对于驱动来说我们不用很清楚它的工作原理即可,因为陀螺仪跟处理器之前是通过陀螺仪的设备控制器来传输的,在我们处理器看来,我们看到的只是控制器,而不是陀螺仪设备本身,我们只要明白怎么使用控制器就可以了。
    首先将陀螺仪控制器的datasheet看了一遍,大体意思就是向控制器发送命令,然后读取控制器通过A/D转换出来的x,y,z轴的坐标,这个就是陀螺仪反馈出来的数据,其他的我们不用太关心就可以。
    发现了一点就是陀螺仪控制器没有中断引脚,细想也对,脱落仪的工作都是同步事件,没有异步事件。只有当处理器需要使用陀螺仪的时候我们才需要调用驱动,并且只是读取陀螺仪反馈的数据。所以驱动中最重要实现的函数就是read函数。
    不用中断这个驱动算是省了一大半的功夫,只要i2c时序没有问题就应该可以从控制器中读取出数据。于是还是采取老办法,在pmon下利用命令来测试时序。
</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值