智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5582|回复: 10
打印 上一主题 下一主题

K60按键应该怎么实现

[复制链接]

14

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
888
威望
463
贡献
233
兑换币
273
注册时间
2013-1-29
在线时间
96 小时
跳转到指定楼层
1#
发表于 2014-4-26 16:57:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
想写一个简单按键程序控制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);
       }
回复

使用道具 举报

25

主题

1217

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
27566

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

QQ
威望
18761
贡献
5863
兑换币
3255
注册时间
2012-6-6
在线时间
1471 小时
2#
发表于 2014-4-26 17:21:10 | 只看该作者
加得太少 看不出来  还是......
回复 支持 反对

使用道具 举报

14

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
888
威望
463
贡献
233
兑换币
273
注册时间
2013-1-29
在线时间
96 小时
3#
 楼主| 发表于 2014-4-26 18:46:22 | 只看该作者
简单丹 发表于 2014-4-26 17:21
加得太少 看不出来  还是......

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

使用道具 举报

14

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
888
威望
463
贡献
233
兑换币
273
注册时间
2013-1-29
在线时间
96 小时
4#
 楼主| 发表于 2014-4-26 18:49:51 | 只看该作者
有没有谁有最简单的例程给我参考一下,我在***库里没找到按键的部分。
回复 支持 反对

使用道具 举报

25

主题

1217

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
27566

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

QQ
威望
18761
贡献
5863
兑换币
3255
注册时间
2012-6-6
在线时间
1471 小时
5#
发表于 2014-4-26 19:23:45 | 只看该作者
516731729 发表于 2014-4-26 18:46
这个舵机.我初试给250HZ,占空比为20的pwm波,就已经偏的很厉害了。。而在示波器上也一点变化都没有。。

示波器上占空比是多少? 是一只没变还是...
回复 支持 反对

使用道具 举报

14

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
888
威望
463
贡献
233
兑换币
273
注册时间
2013-1-29
在线时间
96 小时
6#
 楼主| 发表于 2014-4-26 19:40:51 | 只看该作者
简单丹 发表于 2014-4-26 19:23
示波器上占空比是多少? 是一只没变还是...

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

使用道具 举报

25

主题

1217

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
27566

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

QQ
威望
18761
贡献
5863
兑换币
3255
注册时间
2012-6-6
在线时间
1471 小时
7#
发表于 2014-4-26 19:49:54 | 只看该作者
516731729 发表于 2014-4-26 19:40
初始化是占空比为10.之后不管怎么按,就都是10,一直没变化

那应该是你按键扫描程序的问题吧 检查一下硬件
回复 支持 反对

使用道具 举报

14

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
888
威望
463
贡献
233
兑换币
273
注册时间
2013-1-29
在线时间
96 小时
8#
 楼主| 发表于 2014-4-26 20:37:01 | 只看该作者
简单丹 发表于 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了。
试过放在循环里,就不停一直往上加。。
程序和硬件都很简单,这是什么问题。。
用的是***库。


回复 支持 反对

使用道具 举报

25

主题

1217

帖子

0

精华

知名人物

Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15

积分
27566

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

QQ
威望
18761
贡献
5863
兑换币
3255
注册时间
2012-6-6
在线时间
1471 小时
9#
发表于 2014-4-26 21:20:08 | 只看该作者
516731729 发表于 2014-4-26 20:37
好像发现问题了。我初始化PTA7为输入且为1,
然后判断PTA7的输入是否为0,因为按键是接地的。
结果就发 ...

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

使用道具 举报

14

主题

61

帖子

0

精华

高级会员

Rank: 4

积分
888
威望
463
贡献
233
兑换币
273
注册时间
2013-1-29
在线时间
96 小时
10#
 楼主| 发表于 2014-4-26 21:35:35 | 只看该作者
简单丹 发表于 2014-4-26 21:20
如果你一直按住键不放,当然就不停一直往上加,你可以对按键程序进行处理 是否支持连续按键....

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-27 23:22 , Processed in 0.045640 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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