找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6501|回復: 7
打印 上一主題 下一主題
收起左側

在串口上測得ADXL345的值 附stm32源碼

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:321034 發(fā)表于 2018-8-4 10:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在I2C的基礎上,添加ADXL345的模塊,然后在添加打印模塊, 可以調(diào)試出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. # include "math.h"

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

  20.         delay_init();                            //延時初始化
  21.         LED_Init();                                  //初始化與LED連接的硬件接口
  22.         KEY_Init();                                //按鍵初始化
  23.         printf_init();
  24.         I2C_INIT();

  25.         while(ADXL345_Init())
  26.         {
  27.                 printf(" 加速度傳感器錯誤!\r\n");
  28.                 delay_ms(100);
  29.         }
  30.         while(1)
  31.         {                              
  32.         if(t%10==0)//每100ms讀取一次
  33.                 {
  34.                         //得到X,Y,Z軸的加速度值(原始值)
  35.                           ADX_GetXYZ_Value(&x, &y,&z);        //讀取X,Y,Z三個方向的加速度值
  36.                        
  37.                           printf("x:%d \n",x);                //顯示加速度原始值
  38.                                 printf("y: %d \n",y);
  39.                                 printf("z: %d \r\n",z);
  40.                           
  41.                        
  42.                         //得到角度值,并顯示
  43.                         angx=ADXL345_Get_Angle(x,y,z,1);   
  44.                         angy=ADXL345_Get_Angle(x,y,z,2);   
  45.                         angz=ADXL345_Get_Angle(x,y,z,0);
  46.                         printf(" 角度x:%d\r\n",angx);                //顯示角度值
  47.                         printf(" 角度y:%d\r\n",angy);
  48.                         printf(" 角度z:%d\r\n",angz);
  49.                         Delay(6000000);
  50.                 }
  51.                 key=KEY_Scan(0);
  52.                 if(key==KEY_UP)
  53.                 {
  54.                         LED1=0;//綠燈亮,提示校準中
  55.                         ADXL345_AUTO_Adjust(&x, &y, &z);//自動校準
  56.                         LED1=1;//綠燈滅,提示校準完成
  57.                 }
  58.                  delay_ms(10);
  59.                 t++;
  60.                 if(t==20)
  61.                 {
  62.                         t=0;
  63.                         LED0=!LED0;
  64.                 }
  65.         }
  66. }
復制代碼

所有資料51hei提供下載:
ADXL345打印.rar (286.76 KB, 下載次數(shù): 251)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂1 踩
回復

使用道具 舉報

沙發(fā)
ID:68814 發(fā)表于 2019-5-9 17:06 | 只看該作者
5分  有點多啊
回復

使用道具 舉報

板凳
ID:521503 發(fā)表于 2019-7-20 20:28 | 只看該作者
連接上硬件之后,串口一直顯示加速度傳感器錯誤,是怎么情況啊
回復

使用道具 舉報

地板
ID:129716 發(fā)表于 2019-8-15 22:20 | 只看該作者
曉風/殘月 發(fā)表于 2019-7-20 20:28
連接上硬件之后,串口一直顯示加速度傳感器錯誤,是怎么情況啊

我也是
回復

使用道具 舉報

5#
ID:632085 發(fā)表于 2019-10-30 15:22 | 只看該作者
非常感謝
回復

使用道具 舉報

6#
ID:316613 發(fā)表于 2020-4-3 16:35 | 只看該作者
我也是,不好用啊
回復

使用道具 舉報

7#
ID:58713 發(fā)表于 2021-7-23 08:23 | 只看該作者
代碼不能用的,經(jīng)過Debug調(diào)試,發(fā)現(xiàn)數(shù)據(jù)都沒從上層函數(shù)傳上來。新手謹慎下載。
回復

使用道具 舉報

8#
ID:208271 發(fā)表于 2024-3-21 14:46 | 只看該作者
345模塊接了 PB10 PB11 3.3V GND,一直無法初始化模塊。不知道有線沒接,還是程序有問題
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表