微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > 按键端口更改出现了问题

按键端口更改出现了问题

时间:10-02 整理:3721RD 点击:

我想把按键SW1、SW2端口改成P1_1,所以就把一些原来的端口配置都改成了P1口和BIT(1),其他的地方都没有变,更改的程序如下所示:

/* CPU port interrupt */

#define HAL_KEY_CPU_PORT_1_IF P1IF

#define HAL_KEY_CPU_PORT_2_IF P2IF

#if defined ( CC2540_MINIDK )||( WEBEE_BOARD )

/* SW_1 is at P0.0 */

#define HAL_KEY_SW_1_PORT   P1

#define HAL_KEY_SW_1_BIT    BV(0)

#define HAL_KEY_SW_1_SEL    P1SEL

#define HAL_KEY_SW_1_DIR    P1DIR

/* SW_2 is at P0.1 */

#define HAL_KEY_SW_2_PORT   P1

#define HAL_KEY_SW_2_BIT    BV(1)

#define HAL_KEY_SW_2_SEL    P1SEL

#define HAL_KEY_SW_2_DIR    P1DIR

#define HAL_KEY_SW_1_IEN      IEN1  /* CPU interrupt mask register */

#define HAL_KEY_SW_1_ICTL     P1IEN /* Port Interrupt Control register */

#define HAL_KEY_SW_1_ICTLBIT  BV(0) /* P0IEN - P0.0 enable/disable bit */

#define HAL_KEY_SW_1_IENBIT   BV(5) /* Mask bit for all of Port_0 */

#define HAL_KEY_SW_1_PXIFG    P1IFG /* Interrupt flag at source */

#define HAL_KEY_SW_2_IEN      IEN1  /* CPU interrupt mask register */

#define HAL_KEY_SW_2_ICTL     P1IEN /* Port Interrupt Control register */

#define HAL_KEY_SW_2_ICTLBIT  BV(1) /* P0IEN - P0.1 enable/disable bit */

#define HAL_KEY_SW_2_IENBIT   BV(5) /* Mask bit for all of Port_0 */

#define HAL_KEY_SW_2_PXIFG    P1IFG /* Interrupt flag at source */

#define HAL_KEY_SW_1_EDGEBIT  BV(0)

 PICTL |= HAL_KEY_SW_1_EDGEBIT; /* Set the edge bit to set falling edge to give int */

是不是这样就可以了?但是我测试了一下,按下按键没什么反应,这个是怎么回事呢?求大神指点下,谢谢了

这个要改

#define HAL_KEY_SW_1_IEN      IEN2  /* CPU interrupt mask register   */ //IEN2表示使用p1口的使能,IEN1表示P0口的

还有在hal_key.c中,函数  HAL_ISR_FUNCTION( halKeyPort0Isr, P0INT_VECTOR )  要改成  HAL_ISR_FUNCTION( halKeyPort1Isr, P1INT_VECTOR ) 

Thank you,tim.按照您的说的我又改了一下,结果还是没反应,是不是还有什么地方要改一下啊?

遇到同样的问题,同问

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/p/67314/157577.aspx#157577 请参考这个帖子

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top