搜索
bottom↓
回复: 5

刚下载程序后正常读取,复位了就不行(SPI读取ADXL345)

[复制链接]

出0入0汤圆

发表于 2012-3-5 11:38:31 | 显示全部楼层 |阅读模式
点下载程序后,可以正常收到ADXL345的数据,关掉电源再开就都是0了。屡试不爽,这可能是什么原因?
手动复位偶尔也可以。



(原文件名:QQ截图20120305113740.png)


(原文件名:QQ截图20120305113756.png)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2012-3-5 11:41:40 | 显示全部楼层
void ACC_SPI_INIT(void)
{
        DDRB=0B10110001;
        //spi初始化
        SPCR = (1<<SPE)|(1<<MSTR)|(1<<CPOL)|(1<<CPHA)|(1<<SPR0)|(1<<SPR1)|(1<<SPI2X);
        SPSR = 0x00;
}

///////////////ACCELEROMETER //////////////
void ADXL345_INIT(void){
       
ACC_SPI_INIT();

delay10us(); delay10us(); delay10us(); delay10us();     
writeRegister(0x31,0x04);
delay10us(); delay10us();   delay10us(); delay10us();   
writeRegister(0x2d,0x08);
//writeRegister(0x2e,0x80);

}

//读取X轴加速度
void ADXL345_read_x(unsigned int *x)
{
unsigned char low, high;

low = readRegister(0x32);
high = readRegister(0x33);
* x = (((unsigned int)high)<<8)|low;
}

        if(T10ms>9)
        {
                T10ms=0;
               
                uchar SendArr[4];
                volatile int temp;
               
                ADXL345_read_x(&temp);
                SendArr[0]=temp;
                SendArr[1]=temp/255;       
                ADXL345_read_y(&temp);
                SendArr[2]=temp;
                SendArr[3]=temp/255;               
               
                put_c(0xaa);
                put_c(0x01);
                put_c(SendArr[0]);
                put_c(SendArr[1]);
                put_c(SendArr[2]);
                put_c(SendArr[3]);       
                put_c(0xff);
               

        }

出0入0汤圆

 楼主| 发表于 2012-3-5 11:50:42 | 显示全部楼层
貌似搞定了,延时后再初始化一下ADXL345就能用

但是不知道为什么两次初始化都要有,缺一不可


两次都要有才行 (原文件名:QQ截图20120305115618.png)

出0入0汤圆

发表于 2012-3-5 12:40:53 | 显示全部楼层
使用I2C读写ADXL345的帮顶。

出0入0汤圆

发表于 2012-11-9 08:46:08 | 显示全部楼层
mark




出0入0汤圆

发表于 2013-2-10 12:38:03 | 显示全部楼层
我用spi遇到同样的问题!  链接http://www.amobbs.com/thread-5519262-1-1.html
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 08:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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