2011年 全国大学生电子设计竞赛 基于自由摆的平板控制系统 B题
TIM_Configuration();ENC_Init();
while(1){
t4=TIM_GetCounter(TIM4);D=t4*2000.00/90.00;tt=t4;
if(t4>=0&&t4<4000)
flag=1;
if(t4>=4000&&t4<=7999)
flag=2;if(flag==1){
flag=0;while(1){
t4=TIM_GetCounter(TIM4);D=t4/2000.00*90.00;if(t4-a1>=2){
a1=t4;
TIM1_Cmd(ENABLE);}
t2=TIM_GetCounter(TIM2);if(t2>=1){
TIM1_Cmd(DISABLE);TIM_SetCounter(TIM2,0);t2=0;continue;}
if(a1-t4>=2){
a1=t4;
TIM_Cmd(TIM5,ENABLE);}
t3=TIM_GetCounter(TIM3);if(t3>=1){
TIM_Cmd(TIM5,DISABLE);TIM_SetCounter(TIM3,0);t3=0;
//时钟初始化
//编码器接口初始化
//获取编码器脉冲//计算偏转角度
//转向标志位,1为右半圈,2为左半圈
//右半圈//标志位清零
//正向偏转
//打开PWM输出//PWM计数
//关闭PWM输出//PWM计数清零
//反向偏转