6025|12

10

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

用TIVA C launchpad写按键发现不对 [复制链接]

 
       程序在下面,用的SW2按键(PF_0)GPIOPinRead(GPIO_PORTF_BASE,GPIO_PIN_0)这个的返回值貌似一直是低,但是用电压测出来没有按键时是高电平,按下去是低电平,而我把按键换成PA_2,就能正常了。

#include
#include
#include "inc/hw_ints.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
int main(void)
{
SysCtlClockSet(SYSCTL_SYSDIV_4|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0);
GPIOPinTypeGPIOInput(GPIO_PORTF_BASE, GPIO_PIN_0);
GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_0,GPIO_STRENGTH_2MA,GPIO_PIN_TYPE_STD_WPU);
while(1)
{
  if(GPIOPinRead(GPIO_PORTF_BASE,GPIO_PIN_0))
   GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 4);
  else
   GPIOPinWrite(GPIO_PORTF_BASE, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3, 0);
}
}

最新回复

hw_gpio.h  详情 回复 发表于 2015-9-15 16:58
 
点赞 关注(1)

回复
举报

19

帖子

0

TA的资源

一粒金砂(中级)

推荐
 
ZhengLang 发表于 2014-7-13 20:42
void Key_Interrupt(void)
{       
                SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);

在吗?这个要包含什么头文件呢?我这么做结果显示GPIO_O_LOCK未定义……
 
 

回复

8

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
因为按键1对应的引脚是PF0,该引脚默认是LOCK的。你查下数据手册,其中有说到

点评

嗯,后来看出看到这个了。但没有弄出来  详情 回复 发表于 2014-5-27 01:39
 
 
 

回复

10

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
sjwl2012 发表于 2014-5-25 15:26
因为按键1对应的引脚是PF0,该引脚默认是LOCK的。你查下数据手册,其中有说到

嗯,后来看出看到这个了。但没有弄出来
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

4
 
请问版主有这个芯片的库函数手册吗?本人刚上手这个板子,想学学,期待能分享。。
 
 
 

回复

50

帖子

0

TA的资源

一粒金砂(中级)

5
 

void Key_Interrupt(void)
{       
                SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
              //解锁
                HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0x4c4f434b;       
               HWREG(GPIO_PORTF_BASE + GPIO_O_CR) = GPIO_PIN_0;       
//添加上面2句就可以正常使用了!!
                GPIOPadConfigSet(GPIO_PORTF_BASE,SW1|SW2,GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
                GPIODirModeSet(GPIO_PORTF_BASE,SW1|SW2, GPIO_DIR_MODE_IN);
                GPIOIntTypeSet(GPIO_PORTF_BASE,SW1|SW2,GPIO_FALLING_EDGE);
                GPIOIntEnable(GPIO_PORTF_BASE, SW1|SW2);
                IntEnable(INT_GPIOF);
                IntMasterEnable();
}

点评

在吗?这个要包含什么头文件呢?我这么做结果显示GPIO_O_LOCK未定义……  详情 回复 发表于 2014-9-4 18:06
 
 
 

回复

110

帖子

0

TA的资源

一粒金砂(中级)

6
 
知道被锁定,不会解锁的+1
谢谢楼上,回去试一下~
 
 
 

回复

28

帖子

0

TA的资源

一粒金砂(中级)

7
 
我们写矩阵键盘也遇到同样的问题。pd7怎么都是低,pd1和pd0也有问题。试了很多管脚才写出来。有没有大神出来说说为什么呀。
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

9
 
calom1992 发表于 2014-9-4 18:06
在吗?这个要包含什么头文件呢?我这么做结果显示GPIO_O_LOCK未定义……

楼主未定义的问题解决了吗
 
 
 

回复

21

帖子

0

TA的资源

一粒金砂(中级)

10
 
sjwl2012 发表于 2014-5-25 15:26
因为按键1对应的引脚是PF0,该引脚默认是LOCK的。你查下数据手册,其中有说到

SW1和SW2都是锁定的吗 还是只有一个是锁定的
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

11
 
calom1992 发表于 2014-9-4 18:06
在吗?这个要包含什么头文件呢?我这么做结果显示GPIO_O_LOCK未定义……

这个问题解决了没?要包含什么头文件?谢谢!
 
 
 

回复

38

帖子

0

TA的资源

一粒金砂(中级)

12
 
  1. #include <stdint.h>
  2. #include <stdbool.h>
  3. #include "inc/hw_memmap.h"
  4. #include "inc/hw_types.h"
  5. #include "driverlib/sysctl.h"
  6. #include "driverlib/gpio.h"
  7. #include "driverlib/debug.h"
  8. #include "driverlib/pwm.h"
  9. #include "driverlib/pin_map.h"
  10. #include "inc/hw_gpio.h"
  11. #include "driverlib/rom.h"

  12. ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);

  13. HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = GPIO_LOCK_KEY;
  14.         HWREG(GPIO_PORTF_BASE + GPIO_O_CR) |= 0x01;
  15.         HWREG(GPIO_PORTF_BASE + GPIO_O_LOCK) = 0;
  16.         ROM_GPIODirModeSet(GPIO_PORTF_BASE, GPIO_PIN_4|GPIO_PIN_0, GPIO_DIR_MODE_IN);
  17.         ROM_GPIOPadConfigSet(GPIO_PORTF_BASE, GPIO_PIN_4|GPIO_PIN_0, GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD_WPU);
复制代码
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

13
 
return_ 发表于 2015-7-20 23:39
这个问题解决了没?要包含什么头文件?谢谢!

hw_gpio.h
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表