28335程序按键等待问题

[复制链接]
 楼主| halou 发表于 2015-8-3 17:15 | 显示全部楼层 |阅读模式
gp, IO, pi, GPIO, Oct
本帖最后由 halou 于 2015-8-4 10:47 编辑

我是想让按下按键1,电机开始转,主函数中设置等待程序,但是按键后不转,请大家帮帮忙

//主函数中问题句子
    while(GpioDataRegs.GPBDAT.bit.GPIO53);
//将while(GpioDataRegs.GPBDAT.bit.GPIO53);//后电机正常运转
    DELAY_US(50L);
    startmotor();

//IO初始化定义
EALLOW;
    GpioCtrlRegs.GPBPUD.bit.GPIO53 = 0;            // Enable pullup on GPIO53  拉高IO口
    GpioCtrlRegs.GPBMUX2.bit.GPIO53  = 0;           // 设置为一般IO口
    GpioCtrlRegs.GPBDIR.bit.GPIO53   = 0;            // IO口方向为输入   
EDIS;

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
zhangmangui 发表于 2015-8-3 21:22 | 显示全部楼层
第一个问题    你的按键先做防抖动处理   
zhangmangui 发表于 2015-8-3 21:23 | 显示全部楼层
startmotor();

此函数执行完的后面是什么?
zhangmangui 发表于 2015-8-3 21:24 | 显示全部楼层
执行完不会又回到while中去判断了吧   
你一直按着按键看什么情况
 楼主| halou 发表于 2015-8-4 09:16 | 显示全部楼层
本帖最后由 halou 于 2015-8-4 10:22 编辑
zhangmangui 发表于 2015-8-3 21:23
startmotor();

此函数执行完的后面是什么?

这是主函数最后
        while(GpioDataRegs.GPBDAT.bit.GPIO53);

    DELAY_US(50L);
        startmotor();
         // convert and store in 8 results registers
// Enable global Interrupts and higher priority real-time debug events:
    EINT;   // Enable Global interrupt INTM
    ERTM;   // Enable Global realtime interrupt DBGM
while(1)
{};        
}
 楼主| halou 发表于 2015-8-4 09:17 | 显示全部楼层
zhangmangui 发表于 2015-8-3 21:24
执行完不会又回到while中去判断了吧   
你一直按着按键看什么情况

一直按着也一样的
 楼主| halou 发表于 2015-8-4 09:46 | 显示全部楼层
本帖最后由 halou 于 2015-8-4 10:21 编辑
zhangmangui 发表于 2015-8-3 21:22
第一个问题    你的按键先做防抖动处理

这样属于防抖动吧

while(!flag)
    {
            if(GpioDataRegs.GPBDAT.bit.GPIO53 == 0)
            {
                     KeyTime++;
                     if(KeyTime >= 6000)
                     {
                             flag = 1;
                         }
                }
        }
        startmotor();
// Enable global Interrupts and higher priority real-time debug events:
    EINT;   // Enable Global interrupt INTM
    ERTM;   // Enable Global realtime interrupt DBGM
while(1)
{};        
}
 楼主| halou 发表于 2015-8-5 08:48 | 显示全部楼层
问题解决了,主要是IO50没有设置低电平(GND),不通
小葱521 发表于 2015-8-5 21:26 | 显示全部楼层
不可以使用按键芯片之类的吗?
感觉IO资源是很宝贵的……
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

45

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

13

主题

45

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部