查看: 2416|回复: 1

[原创] 【LPC11U68】学习8:IO模拟IIC总线驱动BM1422AGMV地磁传感器

[复制链接]
  • TA的每日心情
    擦汗
    昨天 14:56
  • 签到天数: 1789 天

    [LV.Master]伴坛终老

    65

    主题

    7557

    帖子

    1

    金牌会员

    Rank: 6Rank: 6

    积分
    12789
    最后登录
    2024-5-8
    发表于 2018-11-26 15:58:39 | 显示全部楼层 |阅读模式
          上周比较忙,今天有点空再搞一下,花了好几个小时把BM1422AGMV手册看完。
           这个BM1422AGMV个人不太喜欢用arduino来测试,用arduino的话直接用官方的历程,用不了一会就搞定了,没啥意思,所以我还想从底层的IIC开始自己来写,所有的流程都按照手册来进行,先用GPIO口来模拟IIC总线,测试的结果在OLED屏上显示。
           先来说说手册,个人感觉这个手册写的不太好,寄存器的位定义和说明分开不在一个地方,看起来一会翻到前面,一会翻到后面,不方便,

    具体的位定义
    1.png

    位说明,个人觉得还是连个一个位定义对应一个位说明,放在一起比较方面
    2.png

    寄存器操作流程,这个倒是比较好,每一步怎么做都有指导,我准备用单次转换模式来进行
    4.png

    我使用的是NXP的11U68开发板,先用这几个端口来进行模拟IO操作
    5.png

    IO口定义申明
    6.png

    GPIO口初始化
    7.png

    IIC协议开始结束
    8.png

    发送一个字节函数
    9.png

    接收一个字节函数
    10.png

    读一个地址的数据内容
    11.png

    写一个地址的数据内容
    12.png

    模块初始化函数
    13.png

    主函数显示
    14.png

    BM1422_Init (void)里的读写都验证过了没有问题,读固定寄存器的值得到的和手册上一样的,写然后读也是对的,读到的是写的值

    但是读数据寄存器出来的值不对,值没有任何变化,始终是最大值
    显示效果,值不对:
    15.png
    16.png
    17.png
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 天前
  • 签到天数: 1337 天

    [LV.10]以坛为家III

    88

    主题

    4294

    帖子

    12

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    9059
    最后登录
    2024-5-6
    发表于 2018-11-26 18:38:13 | 显示全部楼层
    回家我也把这两排插针焊上去
    今天天气不错!签到!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-9 01:51 , Processed in 0.127137 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表