单片机/MCU论坛
直播中

晴天小猪677

10年用户 10经验值
擅长:可编程逻辑
私信 关注
[问答]

关于ADXL345采集的***度数值的问题

小弟新人,最近因课题需要,在做一个振动无线监测节点,我采用的是CC2530+ADXL345。cc2530读取ADXL345的数据如下。我是这么想的:当把传感器水平放置不动时,应该只有z轴有数值,且数值应该为g。但结果显示z轴是024、025左右的值。这是怎么回事呢? 还请前辈指点一下我!感谢!

  • 测试2.jpg

回帖(5)

晴天小猪677

2017-10-29 20:35:33
  1. char display[]={"0123456789."};         //将数字变成字符串的形式才能显示         i对应diaplay[i]
  2. char Txdata[4];
  3. char Txdata1[2];

  4. BYTE BUF[8];                         //接收数据缓存区             
  5. uchar ge,shi,bai,qian,wan;           //显示变量
  6. int  dis_data;                       //变量

  7. void conversion(uint temp_data)  
  8. {  
  9.     wan=temp_data/10000+0x30 ;
  10.     temp_data=temp_data%10000;   //取余运算
  11.     qian=temp_data/1000+0x30 ;
  12.     temp_data=temp_data%1000;    //取余运算
  13.     bai=temp_data/100+0x30   ;
  14.     temp_data=temp_data%100;     //取余运算
  15.     shi=temp_data/10+0x30    ;
  16.     temp_data=temp_data%10;      //取余运算
  17.     ge=temp_data+0x30;        
  18. }

  19. /显示x轴
  20. *******************************************************/
  21. void display_x()
  22. {     
  23.     dis_data=(BUF[1]<<8)+BUF[0];  //合成数据   
  24.     Txdata1[0]='x';
  25.     Txdata1[1]=':';
  26.     SeriPushSend(Txdata1,2);   
  27.     conversion(dis_data);
  28.    
  29.     Txdata[0] = qian;
  30.     Txdata[1] = bai;
  31.     Txdata[2] = shi;
  32.     Txdata[3] = ' ';
  33.    
  34.     SeriPushSend(Txdata,4);  
  35. }
举报

晴天小猪677

2017-10-31 10:45:11
已解决!需要把传感器数据转换一下!
举报

守夜

2017-11-12 17:24:25
楼主你好,我现在做东西也用到了ADXL345买回来以后只有数据手册的资料,怎么用单片机读取数据什么的完全不会弄,不知道该怎么下手,请问您可以分享些资料么?或者可以给我个方向可以么?万分感谢,我的邮箱是2651433819@qq.com
举报

晴天小猪677

2017-11-15 17:08:23
引用: PF彼岸 发表于 2017-11-12 17:24
楼主你好,我现在做东西也用到了ADXL345买回来以后只有数据手册的资料,怎么用单片机读取数据什么的完全不会弄,不知道该怎么下手,请问您可以分享些资料么?或者可以给我个方向可以么?万分感谢,我的邮箱是2651433819@qq.com ...

首先看你用什么单片机?假设用51,就去网上搜51读取345的硬件连线。软件代码也可以搜到(注意根据你的硬件连接,相应地修改程序,如接口),一般改改就能用
举报

qqqqssss

2019-1-24 17:31:41
请问楼主最后怎么解决的?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分