我是靠谱客的博主 顺心发带,最近开发中收集的这篇文章主要介绍【嵌入式开发教程10】手把手教你做平板电脑-G-sensor 驱动实验教程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

G-sensor 驱动实验教程
——疯壳·嵌入式平板开发


第一节 引言 --- G-sensor 电路原理图详解

  下图来源于文档 3128_sdk_a02_20170325.pdf 中第 2 页和第 12 页。
  如下两张图可以确定 G-sensor 是通过 I2c 与 cpu 相互通信的,cpu 作为主设备,G-sensor 作为从设备。因为 cpu 的 I2c 不仅仅与 G-sensor 相连,它连接了多个 I2c 从设备,并且通过从设备地址来确定当前和哪个从设备通信。


图1

 


图2

 

第二节 G-sensor 驱动代码结构

  $(dir)rk3128-sourcekerneldriversinputsensorsaccelmma8452.c
  从代码路径可以看出 G-sensor 驱动和 input,sensor 设备有莫大的关系。


图3
  $(dir)rk3128-sourcekerneldriversinputsensorssensor-dev.c
  --- sensor 设备注册,主要是注册 sensor,input 设备,解析 dts 配置文件
  $(dir)rk3128-sourcekerneldriversinputsensorssensor-i2c.c
  ---sensor 的 I2c 相关处理

 

第三节 实验代码

1.dts 修改:


代码1
2.增加一个可以动态调节方向的测试函数如下(在 sensor-dev.c 中),用户可以通过adb shell 或者串口去输入数据完成屏幕方向调节的功能。

 

 

代码2
3.输入命令格式
a.系统缺省的方向配置如下
echo gsensor_class={1, 0, 0, 0, 1, 0, 0, 0, 1} > /sys/class/gsensor_class/orientation b.测试命令如下
echo gsensor_class={1, 0, 0, 0, 0, 1, 0, 1, 0} > /sys/class/gsensor_class/orientation

echo gsensor_class={0, 1, 0, 1, 0, 0, 0, 0, 1} > /sys/class/gsensor_class/orientation

echo gsensor_class={0, 1, 0, 0, 0, 1, 1, 0, 0} > /sys/class/gsensor_class/orientation

echo gsensor_class={0, 0, 1, 1, 0, 0, 0, 1, 0} > /sys/class/gsensor_class/orientation
echo gsensor_class={0, 0, 1, 0, 1, 0, 1, 0, 0} > /sys/class/gsensor_class/orientation 

4.代码调试中遇到问题
  如果 gsensor_set_orientation_online()直接返回 0 或 1 而不是 count,会出现什么情况?为什么?   
  如果 echo gsensor_class={1, 0, 0, 0, 1, 0, 0, 0, 1} > /sys/class/gsensor_class/orientation 命令提示输入不生效,可以尝试输入 su 命令提高一下权限。在我们开发板上面, adb 默认是 root 的,所以 adb shell 之后,直接是 root 用户。可以用 su 切换,也可以不用切换。

第四节 实验步骤 --- GSENSOR 怎么调节方向

  一般 GSENSOR 芯片贴片的位置变了,变换坐标就要跟着调整。
  我们 Gsensor 是贴片好了的,这个用户无法更改,但是用户可以模拟一下如果板子不平放而是竖着放,屏幕平放的情况看优酷,如果保证屏幕的正常显示。

第五节 实验现象

  开发板放置成如下图一方向,什么命令可以让屏幕横着播放视频?
  echo gsensor_class={-1, 0, 0, 0, -1, 0, 0, 0, -1} > /sys/class/gsensor_class/orientation
  输入如上命令后,屏幕变了,如图二。


图4

 


图5

 

详情地址:https://fengke.club/GeekMart/views/offline/android  
套件地址:https://fengke.club/GeekMart/su_fHnaDyD1o.jsp
视频地址:https://fengke.club/GeekMart/su_f5W0Cuz3p.jsp 
 

最后

以上就是顺心发带为你收集整理的【嵌入式开发教程10】手把手教你做平板电脑-G-sensor 驱动实验教程的全部内容,希望文章能够帮你解决【嵌入式开发教程10】手把手教你做平板电脑-G-sensor 驱动实验教程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部