930电子网

 找回密码
 立即注册
艾克姆科技推出最新产品STC32G12K128开发板
查看: 9295|回复: 2

24le1 iic编程堵塞死机

[复制链接]

1

主题

1

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2018-10-25 07:58:02 | 显示全部楼层 |阅读模式
版主及兄弟们好,我用艾克姆的标准24le1板子及配套软件,iic/w2编程,配置为主模式,外接I2C mpu9250设备地址0x68,调用w2的接口,w2读写函数都会直接卡死。
硬件和连接没有问题,请指导下,谢谢。代码如下:
#include "hal_w2.h"
hal_w2_configure_master(HAL_W2_100KHZ);   
delay(10);
buf[0] = readMpuReg(WHO_AM_I); //卡死
//writeMpuReg(PWR_MGMT_1, 0x00); //解除休眠状态,卡死
//mpu9250
void writeMpuReg(uint8_t fu8Add, uint8_t fu8Data)
{
        uint8_t lau8Data[2] = {0};
        lau8Data[0] = fu8Add;
        lau8Data[1] = fu8Data;

        hal_w2_write(I2C_DEV_ADDR, lau8Data, 2);
}

uint8_t readMpuReg(uint8_t fu8Add)
{
        uint8_t lu8Data = {0};
        lu8Data = fu8Add;

        hal_w2_write(I2C_DEV_ADDR, &lu8Data, 1);
        hal_w2_read(I2C_DEV_ADDR, &lu8Data, 1);

        return lu8Data;
}
回复

使用道具 举报

52

主题

354

帖子

6545

积分

版主

Rank: 7Rank: 7Rank: 7

积分
6545
发表于 2018-10-25 16:00:23 | 显示全部楼层
nRF24LE1的I2C应用参考《nRF24LE1 I2C驱动OLED》的代码。
注意事项:
1:nRF24LE1(QFN32)的I2C的引脚是P0.4-SCL,SDA-P0.5。其中P0.5和编程引脚复用,所以下载程序后,要拿到下载器。
2:P0.4和串口复用引脚,所以要注意不能受串口电路的干扰。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复 支持 反对

使用道具 举报

5

主题

14

帖子

95

积分

注册会员

Rank: 2

积分
95
发表于 2018-10-31 16:10:17 | 显示全部楼层
本帖最后由 机灵的兔子 于 2018-10-31 16:19 编辑

解决了? 参考OLED的驱动程序找找原因 是不是你程序哪里写得有些冗余还不够规范,才会卡死。你读回来的数据,最后算出来的角度效果怎么样?算三维角度 航向角、翻滚角、俯仰角)函数 方便贴出来看看吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|官方淘宝店|930电子网 ( 皖ICP备16000695号-2 )

GMT+8, 2024-11-21 19:21 , Processed in 0.073755 second(s), 22 queries .

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