OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2806|回复: 7

初始化ADXL345,串口打印数据有问题

[复制链接]

11

主题

52

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-4
在线时间
26 小时
发表于 2018-2-28 13:33:00 | 显示全部楼层 |阅读模式
10金钱
我用的是战旗V2的历程来初始化ADXL345的,然后我的板子不是战旗的,LCD端口不一样,所以我就打算直接用串口打印三个轴的加速度值,但我用串口打印出来 的值,三个轴都是-1,而且不会变动。我现在就不知道自己那里错了,所以希望大家帮个忙,帮我解决这个问题。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2018-2-28 15:52:49 | 显示全部楼层
硬件参考战舰V2的原理图连接,代码可以直接用战舰V2的例子的
回复

使用道具 举报

11

主题

52

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-4
在线时间
26 小时
 楼主| 发表于 2018-3-1 13:11:52 | 显示全部楼层
login_FAE 发表于 2018-2-28 15:52
硬件参考战舰V2的原理图连接,代码可以直接用战舰V2的例子的

代码我是用的战旗V2的,然后硬件连接我就只连了,SCL,SDA,3V3,GND,应该没错吧。
回复

使用道具 举报

11

主题

52

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-4
在线时间
26 小时
 楼主| 发表于 2018-3-1 15:39:43 | 显示全部楼层
我刚刚又检测了下,程序里面关于ADXL345初始化的返回值,他返回的是1,就是他连初始化都是错误的。我应该怎么做呢?
回复

使用道具 举报

21

主题

2205

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5141
金钱
5141
注册时间
2014-8-26
在线时间
1317 小时
发表于 2018-3-1 15:58:39 | 显示全部楼层
adxl345 发表于 2018-3-1 13:11
代码我是用的战旗V2的,然后硬件连接我就只连了,SCL,SDA,3V3,GND,应该没错吧。

那就检查你的IIC地址什么的对不对的
回复

使用道具 举报

11

主题

52

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-4
在线时间
26 小时
 楼主| 发表于 2018-3-1 21:55:03 | 显示全部楼层
login_FAE 发表于 2018-3-1 15:58
那就检查你的IIC地址什么的对不对的

我明明就是完全用的历程啊,也不知道怎么的,那么应该怎么检测啊?
回复

使用道具 举报

11

主题

52

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-2-4
在线时间
26 小时
 楼主| 发表于 2018-3-2 15:02:24 | 显示全部楼层
[mw_shl_code=applescript,true]//初始化ADXL345.
//返回值:0,初始化成功;1,初始化失败.
u8 ADXL345_Init(void)
{                                  
        IIC_Init();                                                        //初始化IIC总线       
        if(ADXL345_RD_Reg(DEVICE_ID)==0XE5)        //读取器件ID
        {  
                ADXL345_WR_Reg(DATA_FORMAT,0X2B);        //低电平中断输出,13位全分辨率,输出数据右对齐,16g量程
                ADXL345_WR_Reg(BW_RATE,0x0A);                //数据输出速度为100Hz
                ADXL345_WR_Reg(POWER_CTL,0x28);                   //链接使能,测量模式
                ADXL345_WR_Reg(INT_ENABLE,0x00);        //不使用中断                 
                 ADXL345_WR_Reg(OFSX,0x00);
                ADXL345_WR_Reg(OFSY,0x00);
                ADXL345_WR_Reg(OFSZ,0x00);       
                return 0;
        }                       
        return 1;                                                                             
} [/mw_shl_code]
我这里返回了1,是我的IIC有错误,那我应该怎么检测改错?
回复

使用道具 举报

9

主题

141

帖子

1

精华

高级会员

Rank: 4

积分
606
金钱
606
注册时间
2017-1-3
在线时间
65 小时
发表于 2018-3-3 20:51:50 | 显示全部楼层
1.检查连线
2. 加速度计的地址写对了么
3.自己连的 加速度计上电了么,3.3V电有没有给过去
4.你直接用例子的模拟I2C,一般是不会有错误的,主要检查自己的,
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-8 22:16

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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