完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
做一个测试ADXL345采集数据的实验,ADXL345通过IO模拟SPI连接单片机,单片机通过串口连接PC并显示读出的加速度值,可是读出任何寄存器的的数据不变只是66 或者76,请求帮助,下边是程序:
#include #include #define SDO P0^2; sbit SDI=P0^3; sbit CS=P0^4; sbit SCLK=P0^5; #define uchar unsigned char #define uint unsigned int int temp=0; uint i; uchar strm; void SPI_Wrt(uint addr,uint dat); void SPI_SWrt(uint spib); int SPI_Read(uint addr); void delay(uint z); uint zh,zl,flag; void main() { SPI_Wrt(0x2D,0x28); //ADXL初始化 SPI_Wrt(0x31,0x0B); //数据通信格式;设置为自检功能禁用,4线制Spi接口,低电平中断输出,13位全分辨率,输出数据右对齐,16g量程 SPI_Wrt(0x1E,0x00); //X轴误差补偿; (15.6mg/LSB) SPI_Wrt(0x1F,0x00); //Y轴误差补偿; (15.6mg/LSB) SPI_Wrt(0x20,0x05); //Z轴误差补偿; (15.6mg/LSB) SPI_Wrt(0x21,0x00); //禁用敲击延迟 SPI_Wrt(0x22,0x00); SPI_Wrt(0x23,0x00); SPI_Wrt(0x24,0x01); //保存检测活动阀值; (62.5mg/LSB) SPI_Wrt(0x25,0x01); //保存检测静止阀值; (62.5mg/LSB) SPI_Wrt(0x26,0x2B); //检测静止时间阀值; (1s/LSB) SPI_Wrt(0x27,0x77); //ACT_INACT_CTL; SPI_Wrt(0x2C,0x08); //设置采样率为25Hz //SPI_Wrt(0x2D,0x28); //设置为正常工作模式 SPI_Wrt(0x2E,0x00); //中断功能设定,不使用中断 SPI_Wrt(0x2f,0x00); SPI_Wrt(0x38,0x9f); TMOD=0x20; //串口初始化 TH1=0xfA; TL1=0xfA; TR1=1; REN=1; SM0=0; SM1=1; EA=1; //ES=0; flag=0; delay(100); while(1) { zl=SPI_Read(0x35); delay(100); SBUF=zl; delay(100); } } void SPI_Wrt(uint addr,uint dat) //ADXL写数据//地址格式:0xFF 数据格式:0xFF { CS=1; SCLK=1; delay(50); CS=0; SPI_SWrt(addr); delay(50); SPI_SWrt(dat); delay(50); CS=1; } int SPI_Read(uint addr) //ADXL读数据//地址格式:0xFF 数据格式:0xFF { CS=1; SCLK=1; delay(10); CS=0; addr|=0x80; SPI_SWrt(addr); delay(100); strm=0x00; for(i=0;i<8;i++) { SCLK=0; strm=strm+SDO; strm=strm<<1; SCLK=1; } delay(10); CS=1; return strm; } void SPI_SWrt(uint spib) { for(i=0;i<8;i++) { SCLK=0; if((spib 0x80)==0x80)SDI=1; else SDI=0; SCLK=1; spib=(spib<<1); } } void delay(uint z)//延迟函数 { uint x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); |
|
相关推荐
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1544 浏览 1 评论
3399 浏览 1 评论
8156 浏览 0 评论
1974 浏览 0 评论
VL53L5CX #高达 8x8 多区域测距和 63°对角线宽视场 飞行时间多区域测距传感器
17368 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-30 09:21 , Processed in 0.918369 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号