在這論壇學到很多知識,為了回報,貢獻出我調試好的代碼,STM32F0 iic協議驅動adxl345,串口打印數據
單片機源程序如下:
- #include "include.h"
- #include "iic.h"
- #include "adxl345.h"
- #include "stm32f0xx.h"
- #include "stm32f0_discovery.h"
- #include "usart.h"
- #include "oled.h"
- int main(void)
- {
- short x,y,z;
- int angx,angy,angz;
- delay_init();
- USART_Configuration();
- I2C_INIT();
- while(ADXL345_Init())
- {
- USART1_SendString("傳感器初始失敗\r\n");
- }
-
- USART1_SendString("傳感器初始化成功\r\n");
- USART1_SendString("正在校準……\r\n");
- ADXL345_AUTO_Adjust(&x, &y, &z);//自動校準
- while (1)
- {
- ADXL345_RD_XYZ(&x, &y,&z);
- angx=ADXL345_Get_Angle(x,y,z,1);
- angy=ADXL345_Get_Angle(x,y,z,2);
- angz=ADXL345_Get_Angle(x,y,z,0);
- USART1_SendString("\r\nAngx=");
- USART1_SendNum(angx);
- USART1_SendString("\tAngy=");
- USART1_SendNum(angy);
- USART1_SendString("\tAngz=");
- USART1_SendNum(angz);
- ADXL345_RD_XYZ(&x, &y,&z);
- USART1_SendString("\tGx=");
- USART1_SendNum2(-x*3.9);
- USART1_SendString("\tGy=");
- USART1_SendNum2(-y*3.9);
- USART1_SendString("\tGz=");
- USART1_SendNum2(z*3.9);
-
- delay_ms(100);
-
- }
- }
復制代碼
所有資料51hei提供下載:
stm32f0 adxl345.7z
(192.71 KB, 下載次數: 70)
2020-5-27 14:27 上傳
點擊文件名下載附件
|