标题:
在串口上测得ADXL345的值 附stm32源码
[打印本页]
作者:
51dasttwbd
时间:
2018-8-4 10:49
标题:
在串口上测得ADXL345的值 附stm32源码
在I2C的基础上,添加ADXL345的模块,然后在添加打印模块, 可以调试出ADXL345的值
单片机源程序如下:
# include "sys.h"
# include "delay.h"
# include "printf.h"
# include "adxl345.h"
# include "usart.h"
# include "led.h"
# include "key.h"
# include "math.h"
void Delay (u32 i)
{
while(i--);
}
int main(void)
{
u8 key;
u8 t=0;
short x,y,z;
short angx,angy,angz;
delay_init(); //延时初始化
LED_Init(); //初始化与LED连接的硬件接口
KEY_Init(); //按键初始化
printf_init();
I2C_INIT();
while(ADXL345_Init())
{
printf(" 加速度传感器错误!\r\n");
delay_ms(100);
}
while(1)
{
if(t%10==0)//每100ms读取一次
{
//得到X,Y,Z轴的加速度值(原始值)
ADX_GetXYZ_Value(&x, &y,&z); //读取X,Y,Z三个方向的加速度值
printf("x:%d \n",x); //显示加速度原始值
printf("y: %d \n",y);
printf("z: %d \r\n",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);
printf(" 角度x:%d\r\n",angx); //显示角度值
printf(" 角度y:%d\r\n",angy);
printf(" 角度z:%d\r\n",angz);
Delay(6000000);
}
key=KEY_Scan(0);
if(key==KEY_UP)
{
LED1=0;//绿灯亮,提示校准中
ADXL345_AUTO_Adjust(&x, &y, &z);//自动校准
LED1=1;//绿灯灭,提示校准完成
}
delay_ms(10);
t++;
if(t==20)
{
t=0;
LED0=!LED0;
}
}
}
复制代码
所有资料51hei提供下载:
ADXL345打印.rar
(286.76 KB, 下载次数: 251)
2018-8-4 15:01 上传
点击文件名下载附件
ADXL345
下载积分: 黑币 -5
作者:
李牧林
时间:
2019-5-9 17:06
5分 有点多啊
作者:
晓风/残月
时间:
2019-7-20 20:28
连接上硬件之后,串口一直显示加速度传感器错误,是怎么情况啊
作者:
力王
时间:
2019-8-15 22:20
晓风/残月 发表于 2019-7-20 20:28
连接上硬件之后,串口一直显示加速度传感器错误,是怎么情况啊
我也是
作者:
ScorpioC9
时间:
2019-10-30 15:22
非常感谢
作者:
QEQWE123
时间:
2020-4-3 16:35
我也是,不好用啊
作者:
luokai
时间:
2021-7-23 08:23
代码不能用的,经过Debug调试,发现数据都没从上层函数传上来。新手谨慎下载。
作者:
wifingtta
时间:
2024-3-21 14:46
345模块接了 PB10 PB11 3.3V GND,一直无法初始化模块。不知道有线没接,还是程序有问题
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1