喏喏的问下,你们谁有am2321B温湿度传感器的linux内核驱动?

密斯泽基 2014-05-13 09:28:06
我有am2311的温湿度传感器的驱动,但是发现并不能用,于是看下哪位大神能帮帮我,我开发板的linux内核版本是2.6.35.7;大神可以留下你的任何联系方式,跪求
...全文
329 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
believewwl 2015-07-03
  • 打赏
  • 举报
回复
你好,我现在在做AM2311一直没做出来,能把驱动源码发我一下么,非常感谢,我的邮箱是646502331@qq.com
密斯泽基 2014-05-28
  • 打赏
  • 举报
回复
引用 16 楼 Fighting4344 的回复:
温湿度传感器驱动很好写的,根据手册编写C代码,放到内核编译成模块就行了,我这好像有驱动,不知道是不是你那种的
非常感谢,我已经确定出原因了,是由于没有上拉电阻造成的;am2311与am2321b的区别就是am2311内部自带上拉电阻,而am2321b是不带上拉电阻的;也即是说,驱动能够兼容,但是需要添加上拉电阻;并且我已经将驱动写完了,原理是一样的;测试好用;
唯吾轩记 2014-05-27
  • 打赏
  • 举报
回复
温湿度传感器驱动很好写的,根据手册编写C代码,放到内核编译成模块就行了,我这好像有驱动,不知道是不是你那种的
密斯泽基 2014-05-23
  • 打赏
  • 举报
回复
引用 14 楼 Huntercao 的回复:
就是说,你得看看am2311正常工作了没有?可以读些芯片上的寄存器来判断。或者用示波器看看IIC上的通讯情况。
懂了,非常感谢,我也是怀疑这个是坏的,后来问了下传感器产商,说一般SDA、SCL引脚还要接上拉电阻,我说我的距离还不到30厘米,他说这距离不用接电阻,于是我估计这东西应该是坏的; 因为我还是个学生,在公司实习上班,做的是应用层;根本不接触底层,所以打算让学校寄几个电阻过来,再试试,不行就换新器件了。
曹大夯 2014-05-22
  • 打赏
  • 举报
回复
就是说,你得看看am2311正常工作了没有?可以读些芯片上的寄存器来判断。或者用示波器看看IIC上的通讯情况。
密斯泽基 2014-05-22
  • 打赏
  • 举报
回复
引用 12 楼 Huntercao 的回复:
am2311是不是有什么寄存器没配?看看该芯片的chip spec。
我有点笨,能不能说清楚一点
密斯泽基 2014-05-20
  • 打赏
  • 举报
回复


数据接收一直是失败的,硬件的从设备地址是0x8B,引脚接线是正确的;
密斯泽基 2014-05-20
  • 打赏
  • 举报
回复
引用 8 楼 Huntercao 的回复:
参考:Linux kernel version magic: Adding the missing plus suffix 解决方案一:不要在Git Repository里面编译内核Image。重新编译内核。这样你的内核vermagic就不会有多出来的加号。 解决方案二:照该链接说的,修改ustrelease.h,在头文件中加入“+”,这样,你生成的模块的vermagic就和Image的一样。 如果只是测试,可以用"modprobe -force",让加载模块忽略这个错误。
谢谢,我是直接通过修改,编译内核的Makefile,修改版本号赋值分别为2.6.35.7+,就ok了; 现在驱动加载已经成功了,就是现在一直接收不到数据,具体看新楼
密斯泽基 2014-05-20
  • 打赏
  • 举报
回复
引用 7 楼 zhxianbin 的回复:
[quote=引用 6 楼 Mr__G 的回复:] [quote=引用 4 楼 zhxianbin 的回复:] [quote=引用 2 楼 Mr__G 的回复:] [quote=引用 1 楼 zhxianbin 的回复:] 好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过
是不难,而且我有am2311的驱动源码,但是最近非常忙,而且对驱动也不是很了解,希望有人能帮忙稍微修改下,懂驱动的人做的话只需要1个小时不到,对我来也许一个小小的错误,我还有花好几天;请问下你恰好有这个编译内核环境吗?能不能帮帮我[/quote] 内核编译很简单啊,make 就行了,你可以同时做别的[/quote] 现在正在自己写驱动,基于am2311的源码上更改,首先是看下能不能加载成功; 发现加载失败,提示信息: am2321b: version magic '2.6.35.7 preempt mod_unload ARMv7 ' should be '2.6.35.7+ preempt mod_unload ARMv7 ' insmod: can't insert 'am2321b.ko': invalid module format[/quote] 这个提示不明白什么意思,看起来没错[/quote] 这个问题我已经解决了,是因为内核的版本不一样,所以我修改了Makefile里面的版本号2.6.35.7+,这样再重新编译一遍内核就可以了;
曹大夯 2014-05-20
  • 打赏
  • 举报
回复
参考:Linux kernel version magic: Adding the missing plus suffix 解决方案一:不要在Git Repository里面编译内核Image。重新编译内核。这样你的内核vermagic就不会有多出来的加号。 解决方案二:照该链接说的,修改ustrelease.h,在头文件中加入“+”,这样,你生成的模块的vermagic就和Image的一样。 如果只是测试,可以用"modprobe -force",让加载模块忽略这个错误。
zhxianbin 2014-05-20
  • 打赏
  • 举报
回复
引用 6 楼 Mr__G 的回复:
[quote=引用 4 楼 zhxianbin 的回复:] [quote=引用 2 楼 Mr__G 的回复:] [quote=引用 1 楼 zhxianbin 的回复:] 好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过
是不难,而且我有am2311的驱动源码,但是最近非常忙,而且对驱动也不是很了解,希望有人能帮忙稍微修改下,懂驱动的人做的话只需要1个小时不到,对我来也许一个小小的错误,我还有花好几天;请问下你恰好有这个编译内核环境吗?能不能帮帮我[/quote] 内核编译很简单啊,make 就行了,你可以同时做别的[/quote] 现在正在自己写驱动,基于am2311的源码上更改,首先是看下能不能加载成功; 发现加载失败,提示信息: am2321b: version magic '2.6.35.7 preempt mod_unload ARMv7 ' should be '2.6.35.7+ preempt mod_unload ARMv7 ' insmod: can't insert 'am2321b.ko': invalid module format[/quote] 这个提示不明白什么意思,看起来没错
密斯泽基 2014-05-20
  • 打赏
  • 举报
回复
引用 4 楼 zhxianbin 的回复:
[quote=引用 2 楼 Mr__G 的回复:] [quote=引用 1 楼 zhxianbin 的回复:] 好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过
是不难,而且我有am2311的驱动源码,但是最近非常忙,而且对驱动也不是很了解,希望有人能帮忙稍微修改下,懂驱动的人做的话只需要1个小时不到,对我来也许一个小小的错误,我还有花好几天;请问下你恰好有这个编译内核环境吗?能不能帮帮我[/quote] 内核编译很简单啊,make 就行了,你可以同时做别的[/quote] 现在正在自己写驱动,基于am2311的源码上更改,首先是看下能不能加载成功; 发现加载失败,提示信息: am2321b: version magic '2.6.35.7 preempt mod_unload ARMv7 ' should be '2.6.35.7+ preempt mod_unload ARMv7 ' insmod: can't insert 'am2321b.ko': invalid module format
曹大夯 2014-05-20
  • 打赏
  • 举报
回复
am2311是不是有什么寄存器没配?看看该芯片的chip spec。
zhxianbin 2014-05-14
  • 打赏
  • 举报
回复
引用 2 楼 Mr__G 的回复:
[quote=引用 1 楼 zhxianbin 的回复:] 好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过
是不难,而且我有am2311的驱动源码,但是最近非常忙,而且对驱动也不是很了解,希望有人能帮忙稍微修改下,懂驱动的人做的话只需要1个小时不到,对我来也许一个小小的错误,我还有花好几天;请问下你恰好有这个编译内核环境吗?能不能帮帮我[/quote] 内核编译很简单啊,make 就行了,你可以同时做别的
曹大夯 2014-05-14
  • 打赏
  • 举报
回复
你的开发板是什么型号?如果开发板是通用的型号很多人都有,也许有人能帮到你。 另外,你的am2311驱动程序自己能够编译了么?是编译碰到问题还是驱动本身运行的时候有问题?
密斯泽基 2014-05-14
  • 打赏
  • 举报
回复
引用 1 楼 zhxianbin 的回复:
好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过
是不难,而且我有am2311的驱动源码,但是最近非常忙,而且对驱动也不是很了解,希望有人能帮忙稍微修改下,懂驱动的人做的话只需要1个小时不到,对我来也许一个小小的错误,我还有花好几天;请问下你恰好有这个编译内核环境吗?能不能帮帮我
zhxianbin 2014-05-14
  • 打赏
  • 举报
回复
好像标准 IIC 接口,应该不难,找个类似的看看,我也没做过
密斯泽基 2014-05-14
  • 打赏
  • 举报
回复
引用 3 楼 Huntercao 的回复:
你的开发板是什么型号?如果开发板是通用的型号很多人都有,也许有人能帮到你。 另外,你的am2311驱动程序自己能够编译了么?是编译碰到问题还是驱动本身运行的时候有问题?
驱动是跟内核有关的吧,我的嵌入式系统是linux2.6.35.7,cpu是S5pv210;原2311没错,是别人写好的,但现在用的是am2321B温湿度传感器,所以应该是不能适用的,虽然我看技术手册也没什么变动,可就是会insmod 失败;

21,597

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
  • 驱动开发/核心开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧