查看: 2652|回复: 2

[已解决] 请问KE06_demo板官方有板载MMA8451的例程吗?

[复制链接]
  • TA的每日心情
    擦汗
    2019-2-26 17:09
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    21

    帖子

    0

    注册会员

    Rank: 2

    积分
    196
    最后登录
    2019-4-11
    发表于 2019-2-25 10:22:08 | 显示全部楼层 |阅读模式
    我去读值时时序有点问题。或者有那位朋友实现了的可以分享一下。感激不尽。

    最佳答案

    楼主你好,FRDM-KE06的官方代码里面有关于MMA8451的代码,下载链接: http://www.nxp.com/webapp/Download?colCode=FRDM-KEXX-Driver-Library-Package&appType=license 下载之后,代码路径: FRDM-KEXX-Driver-L ...
    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2019-2-26 17:09
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    6

    主题

    21

    帖子

    0

    注册会员

    Rank: 2

    积分
    196
    最后登录
    2019-4-11
     楼主| 发表于 2019-2-25 10:29:38 | 显示全部楼层
    写数据没什么问题,读数据不正常。以下是我自己根据时序写的读函数。
    1. uint8_t I2C_MMA8451_Read(I2C_Type *pI2Cx,uint16_t u16SlaveAddress,uint8 RegAddress,uint8_t *pRdBuff,uint16_t u32Length)
    2. {
    3.                 uint8_t i,u8ErrorStatus;
    4.     I2C_Start(pI2Cx);
    5.                 I2C_WriteOneByte(pI2Cx,((uint8_t)u16SlaveAddress));
    6.                 I2C_WriteOneByte(pI2Cx,((uint8_t)RegAddress));
    7. //                I2C_Stop(pI2Cx);
    8.                 I2C_RepeatStart(pI2Cx);
    9.                 u8ErrorStatus = I2C_WriteOneByte(pI2Cx,((uint8_t)u16SlaveAddress)|0x01);
    10.                 if( u8ErrorStatus == I2C_ERROR_NULL )
    11.     {
    12.         for(i=0;i<u32Length-1;i++)
    13.         {
    14.             u8ErrorStatus = I2C_ReadOneByte(pI2Cx,&pRdBuff[i],I2C_SEND_ACK);
    15.             if( u8ErrorStatus != I2C_ERROR_NULL )
    16.             {
    17.                 return u8ErrorStatus;
    18.             }
    19.         }
    20.         u8ErrorStatus = I2C_ReadOneByte(pI2Cx,&pRdBuff[i],I2C_SEND_NACK);
    21.      }
    22.      u8ErrorStatus = I2C_Stop(pI2Cx);
    23.      
    24.      return u8ErrorStatus;      
    25. }
    复制代码
    哎...今天够累的,签到来了~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    712

    主题

    6371

    帖子

    0

    超级版主

    Rank: 8Rank: 8

    积分
    24858
    最后登录
    2025-7-17
    发表于 2019-2-26 15:32:28 | 显示全部楼层
    楼主你好,FRDM-KE06的官方代码里面有关于MMA8451的代码,下载链接:
    http://www.nxp.com/webapp/Download?colCode=FRDM-KEXX-Driver-Library-Package&appType=license
    下载之后,代码路径:
    FRDM-KEXX-Driver-Library-Package\ke_drv_lib\build\iar\ke06\Lab_demo
    里面有加速度传感器的读写,你看看。
    但是注意下,这个IAR的工程,需要使用IAR7.X 版本,如果使用IAR8.X是会有问题的。
    建议你找个IAR7.X的看看,当然如果你使用的是其他的IDE,你可以直接参考里面的加速度传感器的驱动。

    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-18 14:03 , Processed in 0.088364 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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