智能车制作
标题:
飞思卡尔 电磁组 程序求助 K60 有哪位大神看下这个简单的程序能简单的跑么?
[打印本页]
作者:
喻勇全
时间:
2013-4-3 23:05
标题:
飞思卡尔 电磁组 程序求助 K60 有哪位大神看下这个简单的程序能简单的跑么?
int a; //保存ADC转换结果
int b;
int c;
int d;
int e;
int f;
int flag;
void main()
{
FTM_PWM_init(FTM1, CH0, 10000, 50); //初始化FTM1_CH0输出频率为35kHZ,占空比为50%的PWM :FTM1_CH0对应PTA8口
FTM_PWM_init(FTM0, CH7, 10000, 50);//初始化FTM1_CH0输出频率为35kHZ,占空比为50%的PWM :FTM1_CH0对应PTD7口 电机
FTM_PWM_init(FTM1, CH1, 100, 50); //初始化FTM1_CH0输出频率为35kHZ,占空比为50%的PWM :FTM1_CH0对应PTA9口 舵机
adc_init(ADC1,SE4a); //初始化ADC1_SE4a ,ADC1_SE4a对应为PTE0
adc_init(ADC1,SE5a); //初始化ADC1_SE5a ,ADC1_SE5a对应为PTE1
adc_init(ADC1,SE6a); //初始化ADC1_SE6a ,ADC1_SE6a对应为PTE2
adc_init(ADC1,SE7a); //初始化ADC1_SE7a ,ADC1_SE7a对应为PTE3
adc_init(ADC1,SE4b); //初始化ADC1_SE4b ,ADC1_SE4b对应为PTc8
adc_init(ADC1,SE5b); //初始化ADC1_SE5b ,ADC1_SE5b对应为PTc9
while(1)
{
a = ad_mid(ADC1,SE4a,ADC_16bit); //读取 ADC1_SE4a ,16位精度
b = ad_mid(ADC1,SE5a,ADC_16bit); //读取 ADC1_SE5a ,16位精度
c = ad_mid(ADC1,SE6a,ADC_16bit); //读取 ADC1_SE6a ,16位精度
d = ad_mid(ADC1,SE7a,ADC_16bit); //读取 ADC1_SE7a ,16位精度
e = ad_mid(ADC1,SE4b,ADC_16bit); //读取 ADC1_SE4b ,16位精度
f = ad_mid(ADC1,SE5b,ADC_16bit); //读取 ADC1_SE5b ,16位精度
if(a>0) //A0 最左边
{ flag = 0 ; }
else if(b>0)
{ flag = 1 ; }
else if(c>0)
{ flag = 2 ; }
else if(c>0&&d>0) // 中间
{ flag = 3 ; }
else if(d>0)
{ flag = 4; }
else if(e>0)
{ flag = 5 ; }
else if(f>0)
{ flag = 6 ; } //A5 最右边
switch(flag) //电机与舵机控制转向
{
case 0:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,13); break;
case 1:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,14); break;
case 2:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,15); break;//高速 以最小角度恢复
case 3:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,16); break;//直行速度MAX
case 4:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,17); break;//高速 以最小角度恢复
case 5:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,18); break;
case 6:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,19); break;
default:FTM_PWM_Duty(FTM1, CH0,30);FTM_PWM_Duty(FTM1, CH1,16); break;
}
}
}
//交叉线判断
if(((a >0) || (b >0))&& ((e>0) || (f>0)))
{
FTM_PWM_Duty(FTM1, CH0,20);FTM_PWM_Duty(FTM1, CH1,16);
return ;
}
作者:
skywolf
时间:
2013-4-3 23:34
你试一下不就知道了么?
作者:
sdlibin007@qq.c
时间:
2013-4-4 00:52
试试啊
作者:
syjh7370628
时间:
2013-4-7 14:23
实践出真知,试一下,慢慢改进。
作者:
270136977
时间:
2013-4-7 16:56
程序这东西,还是试试的比较准吧
欢迎光临 智能车制作 (http://dns.znczz.com/)
Powered by Discuz! X3.2