找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2099|回复: 2
打印 上一主题 下一主题
收起左侧

求助 ! ADXL345显示在串口助手上

[复制链接]
回帖奖励 1 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次(中奖概率 60%)
跳转到指定楼层
楼主
ID:321034 发表于 2018-7-29 10:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
   求助各位大神!!!怎么让ADXL345  加速度传感器可以在 串口助手上显示出来      下面是我 仿编的   程序   串口上不能显示  加速度的变化值
  1. # include "sys.h"
  2. # include "delay.h"
  3. # include "printf.h"
  4. # include "adxl345.h"
  5. # include "usart.h"
  6. # include "led.h"
  7. # include "key.h"

  8. void Delay (u32 i)
  9. {
  10.         while(i--);
  11. }
  12.                                                                        
  13. int main(void)
  14. {               
  15.         u8 key;
  16.         u8 t=0;        
  17.         double x,y,z;              
  18.         double angx,angy,angz;              



  19.         delay_init();                           
  20.         LED_Init();                                 
  21.          KEY_Init();                                
  22.         printf_init();
  23.         I2C_INIT();
  24.         ADXL345_Init();

  25.         while(1)
  26.         {                              
  27.                  if(t%10==0)
  28.                 {
  29.                         
  30.                          ADX_GetXYZ_Value((short*)&x, (short*)&y,(short*) &z);        
  31.                                 printf("x:%f \n",x);               
  32.                                 printf("y: %f \n",y);
  33.                                 printf("z: %f\n",z);
  34.                           Delay(6000000);
  35.                         
  36.                         angx=ADXL345_Get_Angle(x,y,z,1);   
  37.                         angy=ADXL345_Get_Angle(x,y,z,2);   
  38.                         angz=ADXL345_Get_Angle(x,y,z,0);
  39.                         printf("角度x%f\r\n",angx);               
  40.                         printf("角度y%f\r\n",angy);
  41.                         printf("角度z%f\r\n",angz);
  42.                         Delay(6000000);
  43.                 }
  44.                 key=KEY_Scan(0);
  45.                 if(key==KEY_UP)
  46.                 {
  47.                         LED1=0;
  48.                         ADXL345_AUTO_Adjust((short*)&x, (short*)&y, (short*)&z);
  49.                         LED1=1;
  50.                 }
  51.                  delay_ms(10);
  52.                 t++;
  53.                 if(t==20)
  54.                 {
  55.                         t=0;
  56.                         LED0=!LED0;
  57.                 }
  58.         }
  59. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:321034 发表于 2018-7-29 19:33 | 只看该作者
有哪位 大神  可以帮下忙嘛~~~ 小弟 非常感激
回复

使用道具 举报

板凳
ID:375003 发表于 2018-7-30 01:53 | 只看该作者
主函数加上;
        TMOD=0X21;              /*T1 MODE 2 timer,T0 MODE 16 timer*/
        PCON=0X80;              /*SMOD=1 如果把这句注释,波特率9600*/
        SCON=0X50;                /*MODE 1 REN=1*/
        TCON=0X01;              /*TR0=1,TR1=1,IT0=1,IT1=1*/
        TH1=0XFd;              /*11.0592M,fd,12m,f3;波特率19200*/
        TL1=0XFd;
        TR1=1;
调用处加上
                        SBUF=0x0a;// /*回车*/把0x0a换成你的变量名;
                        while(TI==0);
                        TI=0;

评分

参与人数 1黑币 +30 收起 理由
admin + 30 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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