当前位置:  技术问答>linux和unix

内核I2C操作

    来源: 互联网  发布时间:2017-05-15

    本文导语:  我使用的是TI的板子,板子里有个TCA6416A的芯片是用于IO口扩展的。现在有4个LED灯接在TCA6416A芯片的IO口上,而TCA6416A是通过I2C与CPU通讯。在arch/arm/mach-omap2/board-omap3evm.c文件中,struct i2c_board_info __initdata omap3evm_i2c_tca6416...

我使用的是TI的板子,板子里有个TCA6416A的芯片是用于IO口扩展的。现在有4个LED灯接在TCA6416A芯片的IO口上,而TCA6416A是通过I2C与CPU通讯。在arch/arm/mach-omap2/board-omap3evm.c文件中,struct i2c_board_info __initdata omap3evm_i2c_tca6416a_boardinfo[] = {I2C_BOARD_INFO("tca6416", 0x21), ....}注册了TCA6416A I2C总线和设备的驱动。现在问题是,我使用TCA6416A这个设备,通过probe()函数探测I2C设备,当获得多个I2C设备时,通过地址0x21来判断是否是TCA6416A,然后从probe获得client,接着直接通过i2c_master_send,i2c_master_recv接口操作TCA6416A点亮LED?这样做是否有不合理的地方?因为发现如果让LED闪烁,如果时间比较短25ms,时间比25ms长很多。即使尝试在读写I2C操作时,添加锁也会有类是的问题存在。请问,这是什么情况?谢谢!

|
首先 ,i2c_board_info这只是静态注册了i2c_client,这不是总线,也不是驱动,是设备(声明)。
然后,一般的I2C总线适配器至少能够支持两种I2C速率,一个Standard Mode 100kHz,一个Fast Mode 400kHz。所以,消息的传输应该是没有问题的,LZ用这样的方法控制LED也是合理的。问题可能出现在其他部分,LZ可以尝试将代码贴出供大家参考,这样应该能够比较快的发现问题。

    
 
 

您可能感兴趣的文章:

  • 对于操作系统的程序接口,作业接口,单内核,微内核到底有什么区别?
  • 进程内核栈和操作系统内核栈的关系
  • 谁能告诉我2.6.32内核的操作系统是哪些,坐等回复
  • 微内核多任务分时图形化操作系统 ulios
  • 内核态下 操作字符串
  • 用户和内核对目录写操作有哪里不同
  • 内核操作用户空间内存
  • 高深问题:有了linux内核源代码如何做成一个linux操作系统
  • 写操作系统的时候为什么要重新放置内核啊(来着有分)
  • 微内核操作系统 SGOS
  • Unix操作系统内核 Fiwix
  • 操作系统内核 Runtime.JS
  • 求资料:《Linux操作系统内核实习》
  • 有没有使用最新内核的占用空间较小的linux操作系统
  • 我有一个RedHat7.2 的内核升级文件kernel.zip.请问如何做生机,具体怎么操作.
  • Linux内核中文件进行读写操作的问题
  • 关于<LINUX操作系统内核实习》 安装光盘的问题(散分)
  • 对操作系统内核的一个小困惑
  • linux内核原子量操作的小疑问
  • 那位大侠行行好,能不能告知那里提供《linux操作系统内核实习》的完整下载?
  • 新手问题,如何应用内核中的i2c设备驱动
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Linux内核中影响tcp三次握手的一些协议配置
  • Fedora Core 2自带的内核升级程序下载下来内核后,要不要再编译一遍内核?
  • TCP协议四次断连过程介绍及Linux内核协议栈中相关设置项
  • Linux中内核线程不访问内核态地址空间?
  • CentOS 6内核升级:下载编译启用新内核版本详细过程
  • 2.6内核下编译2.4内核
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • 谁能提供kgdb内核补丁内核模块的下载
  • linux内核中的likely宏和unlikely宏介绍及用法
  • 编译新内核后怎么进入原来内核
  • CentOS 6.5 下载地址及如何升级内核(kernel)版本到 3.10.28
  • 用户和内核对目录写操作有哪里不同 iis7站长之家
  • Linux下c/c++开发之程序崩溃(Segment fault)时内核转储文件(core dump)生成设置方法
  • 内核模块跟内核版本不匹配????????
  • docker使用的技术之Container内核原理介绍
  • 请教:如何安装新内核(rpm包)而不同原来得内核冲突?? 在线等待!!
  • linux为什么要升级内核?升级内核有何作用?
  • 内核升级后,如何在新的内核中加载显卡驱动?
  • 内核源码和结果make过的内核源码有什么区别
  • 不重新编译内核能修改内核函数吗?
  • 如何学好内核?学了内核能应用于哪方面?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,