智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2253|回复: 4
打印 上一主题 下一主题

[硬件类] 飞思卡尔 电磁组 程序求助 K60 有哪位大神看下这个简单的程序能简单的跑么?

[复制链接]

1

主题

1

帖子

0

精华

注册会员

Rank: 2

积分
27
威望
15
贡献
8
兑换币
8
注册时间
2013-4-3
在线时间
2 小时
毕业学校
吉林农大
跳转到指定楼层
1#
发表于 2013-4-3 23:05:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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 ;
  }

34

主题

708

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6200
威望
2640
贡献
1404
兑换币
689
注册时间
2010-12-16
在线时间
1078 小时
2#
发表于 2013-4-3 23:34:05 | 只看该作者
你试一下不就知道了么?
回复 支持 反对

使用道具 举报

53

主题

2469

帖子

0

精华

跨届大侠

狙击手

Rank: 10Rank: 10Rank: 10

积分
11290

优秀会员奖章活跃会员奖章论坛元老奖章在线王奖章论坛骨干奖章资源大师奖章

威望
4701
贡献
3671
兑换币
2368
注册时间
2012-3-12
在线时间
1459 小时
3#
发表于 2013-4-4 00:52:14 | 只看该作者
试试啊
回复 支持 反对

使用道具 举报

0

主题

19

帖子

0

精华

高级会员

Rank: 4

积分
528
威望
273
贡献
153
兑换币
174
注册时间
2013-1-2
在线时间
51 小时
4#
发表于 2013-4-7 14:23:44 | 只看该作者
实践出真知,试一下,慢慢改进。
回复 支持 反对

使用道具 举报

15

主题

277

帖子

0

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6479

论坛元老奖章活跃会员奖章

QQ
威望
1282
贡献
4791
兑换币
495
注册时间
2011-10-10
在线时间
203 小时
5#
发表于 2013-4-7 16:56:43 | 只看该作者
程序这东西,还是试试的比较准吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-9-20 20:28 , Processed in 0.051857 second(s), 37 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表