查看: 1948|回复: 0

[分享] KL05Z mm8451q G_sensor 读取数据

[复制链接]

该用户从未签到

2

主题

2

帖子

0

新手上路

Rank: 1

积分
14
最后登录
2015-3-21
发表于 2015-3-20 08:50:11 | 显示全部楼层 |阅读模式
uint8 hal_dev_mma8451_read_reg(uint8 addr)
{
    uint8 result;
    i2c_start();//设置master 模式
    i2c_write_byte(MMA8451_I2C_ADDRESS | I2C_WRITE);
    i2c_wait();//Interrupt
    i2c_get_ack();//Receive Acknowledge
    i2c_write_byte(addr);
    i2c_wait();
    i2c_get_ack();
    i2c_repeated_start();
    i2c_write_byte(MMA8451_I2C_ADDRESS | I2C_READ);
    i2c_wait();
    i2c_get_ack();
    i2c_set_rx_mode();
    i2c_give_nack(); //No acknowledge signal is sent to the bus
    result = i2c_read_byte(); //result =0x3b;
    i2c_wait();
    i2c_stop();
    result = i2c_read_byte();//result =0x00;   理论上这两次赋值,result的值应该是一样的啊,为什么赋值不一样。
    pause();
    return result;
}

uint8 i2c_read_byte(void)
{
    return I2C0->D;
}

回复

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2025-7-22 20:54 , Processed in 0.078597 second(s), 19 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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