智能车制作

标题: K60按键应该怎么实现 [打印本页]

作者: 516731729    时间: 2014-4-26 16:57
标题: K60按键应该怎么实现
想写一个简单按键程序控制PWM的占空比变化的.就是没变化.为什么呢
K60的按键程序一般都是怎么实现的。第一次接触这个东西。。。。
PORTB_PCR1 = (PORT_PCR_MUX(3));
FTM_PWM_init(FTM1, CH1, 250, 10);
PORTA_PCR17 = (PORT_PCR_MUX(1));
gpio_init(PORTA,17,GPI,HIGH);
u8 value;
u32 i=10;
value= gpio_get(PORTA,17);
if(value==0)
       {
        i=i+5;
        FTM_PWM_init(FTM1, CH1, 250, i);
       }
作者: 简单丹    时间: 2014-4-26 17:21
加得太少 看不出来  还是......
作者: 516731729    时间: 2014-4-26 18:46
简单丹 发表于 2014-4-26 17:21
加得太少 看不出来  还是......

这个舵机.我初试给250HZ,占空比为20的pwm波,就已经偏的很厉害了。。而在示波器上也一点变化都没有。。

作者: 516731729    时间: 2014-4-26 18:49
有没有谁有最简单的例程给我参考一下,我在***库里没找到按键的部分。
作者: 简单丹    时间: 2014-4-26 19:23
516731729 发表于 2014-4-26 18:46
这个舵机.我初试给250HZ,占空比为20的pwm波,就已经偏的很厉害了。。而在示波器上也一点变化都没有。。

示波器上占空比是多少? 是一只没变还是...

作者: 516731729    时间: 2014-4-26 19:40
简单丹 发表于 2014-4-26 19:23
示波器上占空比是多少? 是一只没变还是...

初始化是占空比为10.之后不管怎么按,就都是10,一直没变化

作者: 简单丹    时间: 2014-4-26 19:49
516731729 发表于 2014-4-26 19:40
初始化是占空比为10.之后不管怎么按,就都是10,一直没变化

那应该是你按键扫描程序的问题吧 检查一下硬件

作者: 516731729    时间: 2014-4-26 20:37
简单丹 发表于 2014-4-26 19:49
那应该是你按键扫描程序的问题吧 检查一下硬件

好像发现问题了。我初始化PTA7为输入且为1,
然后判断PTA7的输入是否为0,因为按键是接地的。
结果就发现PTA_IN永远都等于0,不管按键有没有按,检查过了没有锻炉。这是为什么呢。。
PWM波选的通道是PTB1,FTM1_CH1.
gpio_init(PORTA,7,GPI,HIGH);
FTM_PWM_init(FTM1, CH1, 250, 50);
u32 i=50;
   if(PTA7_IN==0)
  {
    time_delay_ms(1000);
    if(PTA7_IN==0)
     {  
    i=i+10;
    FTM_PWM_Duty(FTM1, CH1, i );
     }
    time_delay_ms(200);
  }

我原定占空比为50.下载程序后,延时一秒就直接加到60了。
试过放在循环里,就不停一直往上加。。
程序和硬件都很简单,这是什么问题。。
用的是***库。



作者: 简单丹    时间: 2014-4-26 21:20
516731729 发表于 2014-4-26 20:37
好像发现问题了。我初始化PTA7为输入且为1,
然后判断PTA7的输入是否为0,因为按键是接地的。
结果就发 ...

如果你一直按住键不放,当然就不停一直往上加,你可以对按键程序进行处理 是否支持连续按键....

作者: 516731729    时间: 2014-4-26 21:35
简单丹 发表于 2014-4-26 21:20
如果你一直按住键不放,当然就不停一直往上加,你可以对按键程序进行处理 是否支持连续按键....

我没有按着按键。按键一点反应都没有。我就直接把占空比+10放在循环里了,发现它就不停的往上加。

作者: 夜雨寒    时间: 2014-4-26 22:13
行列扫描式键盘,百度一搜一大堆




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2