初级会员

- 积分
- 98
- 金钱
- 98
- 注册时间
- 2015-4-10
- 在线时间
- 25 小时
|
1金钱
芯片用的是STM32F103RCT6的芯片,初始化MPU6050,和DMA后再初始化PWM,结果没有1,2,3通道没有输出,4通道有输出,MPU6050数据正常,如果先初始化PWM在初始化MPU6050就没有问题TIM8的4个通道和MPU6050都正常,MPU6050用的是原子哥的历程,脚位和接线和战舰的一样,PWM用的是TIM8的1.2.3.4通道,谁知道是怎么回事吗?
int main(void)
{
float pitch;
float roll;
float yaw;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
delay_init();
uart_init(115200);
MPU_Init();//mpu6050初始化
while(mpu_dmp_init())printf("MPU605 DMP初始化失败\r\n");
printf("MPU605 DMP初始化成功\r\n");//**********************************这三行全部注释掉 或者在这三行前先初始化PWM,4个通道的PWM才正常,
PwmIinit(1999,719);//频率50HZ
while(1)
{
mpu_dmp_get_data(&pitch,&roll,&yaw);
printf("俯仰角:%f",pitch);
printf("横滚角:%f",roll);
printf("航向:%f\r\n",yaw);
TIM_SetCompare1(TIM8,200);//100为1MS,200为2ms,1000为占空比50%
TIM_SetCompare2(TIM8,200);
TIM_SetCompare3(TIM8,200);
TIM_SetCompare4(TIM8,200);
}
}
|
|