当前位置: 首页 > news >正文

外贸英语网站公众号 链接wordpress

外贸英语网站,公众号 链接wordpress,网站建设案例分享,lnmp怎么做网站I2C的设备驱动是通过i2c_add_driver(my_driver)向i2c-core注册的#xff0c;my_driver中的核心是detach和attach函数#xff0c;在attach中通过probe探测到总线上的设备并把设备和 驱动建立连接以完成设备的初始化。如何探测总线上的设备、Linux中i2c设备地址如何标识并…I2C的设备驱动是通过i2c_add_driver(my_driver)向i2c-core注册的my_driver中的核心是detach和attach函数在attach中通过probe探测到总线上的设备并把设备和 驱动建立连接以完成设备的初始化。如何探测总线上的设备、Linux中i2c设备地址如何标识并引用 I2C中, 典型的attach如下所示 static int my_attach(struct i2c_adapter *adapter) {     returni2c_probe(adapter, addr_data, my_probe); } static int my_probe(struct i2c_adapter *adapter, int address, intkind) {     .......... } addr_data是在 include/linux/i2c.h中定义的或自己在自己驱动程序中定义的一个i2c_client_address_data结构 static struct i2c_client_address_data addr_data {            \     .normal_i2c    normal_i2c,                    \     .probe        probe,                    \     .ignore        ignore,                    \     .forces        forces,                    \ } 若自己不定义则用i2c.h中的默认定义。 struct i2c_client_address_data {     unsignedshort *normal_i2c;     unsignedshort *probe;     unsignedshort *ignore;     unsignedshort **forces; }; 根据作者自行定义设备地址与否有两种情形 a.采用默认定义一般是不会work,毕竟大多数i2c-core中是不可能提前知道所接设备地址的这样通过i2c_probe()探测肯定不可能找到也不可能建立两者之间的联系 况且i2c_probe()属于i2c-core中的函数i2c-core中管理着所有注册过的设备和驱动列表i2c_probe()中也不能随意传入地址否则容易导致系统混乱或有潜在的风险 所以i2c-core也不允许这么做 b. 作者自行定义地址结构 典型例子如下 若自行定义则参考如下 static unsigned short normal_i2c[] {I2C_KS0127_ADDON1,                        I2C_KS0127_ONBOARD1,I2C_CLIENT_END};/// 实际设备的地址List static unsigned short probe[2]    {I2C_CLIENT_END,I2C_CLIENT_END}; static unsigned short ignore[2]     {I2C_CLIENT_END,I2C_CLIENT_END}; static struct i2c_client_address_data addr_data {     normal_i2c,     probe,     ignore, }; 或者根本就不定义完整的i2c_client_address_data结构只根据需要定义normal_i2c[],probe[],ignore[]forces[][],然后调用 i2c_probe(adapter,addr_data, my_probe) 即可。 在my_probe()中把实际的地址赋于i2c_client调用i2c_set_clientdata()设置i2c_client-dev-drv_data,并调用i2c_attach_client(client)向系统注册设备。 最后i2c_probe()中探测时的地址优先级 forces[][], probe[], normal_i2c[](其中忽略ignore[]中的项)。 I2c设备在实际使用中比较广泛sensor,rtc,audio, codec,etc.因设备复杂性不同Linux中有些驱动中对地址的定义不在同一文件这时多数情况都在arch中对设备作为 platform_device进行初始化并注册的代码中。
http://www.pierceye.com/news/487946/

相关文章:

  • 企业应该找什么样的网站建设公司jz做网站
  • 钦州住房和城乡建设局网站软考考试科目有哪些
  • 查公司的网站有哪些wordpress连接数据库出错
  • 找别人做网站需要什么信息湛江制作公司网站
  • 最简单的静态网站wordpress网络公司主题
  • 做外贸要做什么网站企业服务平台app下载
  • .net做网站开发吗企业网站维护合同
  • 有哪些做网站公司网站做关键词库的作用
  • 安全狗网站白名单指什么申请制作网站
  • 如何做高端网站建设香水推广软文
  • 移动网站建设优势优化设计电子课本下载
  • 做外贸英语要什么网站免费做app网站建设
  • 网站统计系统 怎么做遵义公共资源交易中心官网
  • 做外贸的有哪些网站廊坊网站建设公司哪个好
  • 深圳宝安网站建设学习网html5网页代码大全
  • 网站建设介绍会发言稿wordpress 工具栏
  • 重庆网站推广计划2017主流网站风格
  • 进贤网站建设做网站有什么优势
  • 免费购物网站源码网站收录是什么意思
  • 网站做端口映射如何创建公众号的步骤
  • 什么行业需要做网站网站系统升级需要多久
  • 网站产品推广网站建设功能规划
  • 2018年公司做网站注意事项WordPress标题美化
  • 西宁seo网站上海建设安检站网站
  • 网站友情链接模块介绍邯郸公司做网站
  • 怎样用织梦建设网站报个电脑培训班要多少钱
  • 河南省住房和城乡建设部网站首页安徽建设工程信息平台
  • 网站开发工程师的要求做seo要明白网站内容
  • 如何做天猫网站医学ppt模板免费下载网站
  • 网站上的通话功能怎么做网站用不用备案