|
#include
#include "math.h"
/*功能模块头文件*/
#include "1602.h"
#include "mpu6050.h"
#include "Delay.h"
#define uint unsigned int
#define uchar unsigned char
#define pi 3.141592653
int ax,ay,az; //---GetData()函数返回为int
int gx,gy,gz; //存储原始数据
float aax,aay,aaz,ggx,ggy,ggz;//存储量化后的数据
float Ax,Ay,Az; //单位 g(9.8m/s^2)
float Gx,Gy,Gz; //单位 °/s
float Angle_accX,Angle_accY,Angle_accZ;//存储加速度计算出的角度
//char str[20];
void main()
{
WDTCTL = WDTPW + WDTHOLD;
delay(300); //-上电延时
BCSCTL1 &=~XT2OFF;
do
{
IFG1 &=~OFIFG;
for(uint i=0xff;i>0;i--);
}
while((IFG1&OFIFG)); //等待时钟稳定
BCSCTL2 |=SELM_2+SELS; //主、从系统时钟均为高频
//CtrlDir |= 0x07; //控制线端口设为输出状态
//DataDir = 0xFF; //数据端口设为输出状态
//DataPort = 0x00;
P6DIR=0XFF; P6OUT=0Xff; //点亮液晶
LcdReset(); //液晶初始化
//Delay1000ms();//----到底延时多久最好???
delay(500);
InitMPU6050();
delay(200);
while(1)
{
Display10BitData(Angle_accX,2,0); //显示X轴加速度
delayms(250);*/
//Display10BitData('An',2,1); //显示Y轴加速度
Display10BitData(GetData(ACCEL_XOUT_H),2,0); //显示X轴加速度
Display10BitData(GetData(ACCEL_YOUT_H),7,0); //显示Y轴加速度
Display10BitData(GetData(ACCEL_ZOUT_H),12,0); //显示Z轴加速度
Display10BitData(GetData(GYRO_XOUT_H),2,1); //显示X轴角速度
Display10BitData(GetData(GYRO_YOUT_H),7,1); //显示Y轴角速度
Display10BitData(GetData(GYRO_ZOUT_H),12,1); //显示Z轴角速度
delayms(250);
}
}
主程序有错误吗???怎么lcd得到的数据也不对 |
|