我靠,好久前就收到了ROHM社区寄过来的地磁传感器,首先要表示对ROHM社区的感谢。到今天才抽出时间来发帖分享,真是对不住。 好的,开始干正事。
由于传感器被我操作了一波,先上电路图吧。拿到传感器的时候图中的R1、R2(IIC的上拉电阻)是没有焊接的。JP1已经接地了,所以这个传感器的地址就是(0x0001110),别拿到传感器就直接把这个JP1给跳到VDD了,不要问我是怎么知道的。
再来一波实物图,做工还是很OK的,还是沉金过的。但是我还是耿耿于怀那个JP1......
没有Arduino底板,就只能自己焊接一个模块来测试了,用的板子是STM32L432(妮妮姐送的
)。意识到还要手写驱动,中等蛋疼吧。(附手焊模块图)。
使用STM32CubeMx建立工程,包括,串口、IIC、GPIO三个模块的使用。详细步骤就不说了,直接上代码吧。
重写一波fputc,方便使用printf打印。
把IIC的相关函数重新封装一下方便使用。
然后就是传感器的初始化,我采用的是连续模式12位数据输出。
然后是读数据函数,数据解析参考了别人的代码,在Datasheet上没有找到比较详细的说明,蛋疼,这个数据手册
最后调用这两个函数,就可以得到传感器的数值了。打印到串口助手上:
好了,已经成功读取到数据了(虽然暂时还不知道数据代表啥)。网上说可以用来做个罗盘,我后边也试试,敬请期待我的更新!!
坐着,玩泥巴于2018年11月24日深夜帖
妈蛋:附件不能大于10M,,,我的工程传不了了,我靠!!!有需要可以联系QQ1432717904(坐着玩泥巴索取)