高级会员
- 积分
- 530
- 威望
- 288
- 贡献
- 132
- 兑换币
- 6
- 注册时间
- 2012-1-6
- 在线时间
- 55 小时
|
void CarVoltageGet(void) {
long lnDeltaValue;
ADC_GetValue16(g_nCarVoltage); //调用ADC中的子程序,得到变量g_nCarVoltage
lnDeltaValue = (int)CV_ACCE_VAL; //读取加速度值,将加速度值放到lnDeltaValue中
lnDeltaValue = lnDeltaValue - (int)CV_ACCE_OFFSET; //读取零偏数值,并用加速度值减去零偏数值
g_nCarAcceVal = (int)lnDeltaValue;
g_nCarAcceVal = mult_r(g_nCarAcceVal, CV_ACCE_ANGLE_RATIO);//将加速度计角度归一化到-1000~1000之间
g_nCarGyroVal = (int)CV_GYRO_VAL;
g_nCarGyroVal = (int)(g_nCarGyroVal - CV_GYRO_ZERO);
g_nCarGyroVal = mult_r(g_nCarGyroVal, CAR_GYRO_RATIO_INT);// 读取陀螺仪数值减去零偏数值,将陀螺仪数值归一化到-1000~1000之间
g_nCarAngle = (int)(g_lnCarAngleSigma >> 10); //将陀螺仪数值积分
lnDeltaValue = g_nCarAcceVal - g_nCarAngle; //将陀螺仪数值积分后的值与加速度计值相减
lnDeltaValue = lnDeltaValue * CAR_ACCE_RATIO;//再乘以比例值
g_lnCarAngleSigma += (g_nCarGyroVal + lnDeltaValue);//再将他与原陀螺仪的值相加乘以积分值
}
这是官网上给的资料,各位帮忙给看看我的注释对不对,要是那里不对了请知道的朋友帮忙指正一下。谢谢
|
|