标题:
12312键盘中断
[打印本页]
作者:
cherishsue
时间:
2007-6-5 16:08
标题:
12312键盘中断
zigbee 13213SRB的开发板,看了硬件结构图板子上的SW1 - SW4 对应KBI引脚的2-5,但是在设置KBI1PE时,只有我设置它的值0x08时按SW2才进入中断函数,设置其他的值除0x40外时按reset都能进入中断函数,但是按SW1- SW4都不会进入中断函数.为什么会这样呢?知道的人帮帮我?谢谢了!!
作者:
jimmytan
时间:
2007-6-5 16:50
你用的是什么程序? 你可以用beekit.对对应的SW进行设置,SW1-SW4分别为:0x04,0x08,0x10,0x20. Reset SW对应的是PTDD: 0x08.
作者:
knightccc
时间:
2007-6-5 18:48
我也碰到一个问题,一直进不了中断,大家能否帮我看看
void KBIInit(void) {
PB0IE = 1; /* Enable KBI PB0 */
PB1IE = 1;
PB2IE = 1;
PB3IE = 1;
PB0PU = TRUE;
PB1PU = TRUE;
PB2PU = TRUE;
PB3PU = TRUE;
}
我的中断程序
interrupt void KBIIsr(void) {
UINT8 u8keys;
u8keys = ~PTAD;
// Still in debounce time - just return
//if (gu16timerEvents[1] != 0) {
//KBI1SC_KBACK = 1;
//return;
//}
if ((u8keys & KBI_SW1) == KBI_SW1) {
LED1=LED_ON;
//gu16timerEvents[1] = gu16msTimer + KBI_DEBOUNCE;
//gu16Events |= KBI2_EVENT;
}
if ((u8keys & KBI_SW2) == KBI_SW2) {
LED2=LED_ON;
//gu16timerEvents[1] = gu16msTimer + KBI_DEBOUNCE;
//gu16Events |= KBI3_EVENT;
}
if ((u8keys & KBI_SW3) == KBI_SW3) {
LED3=LED_ON;
//gu16timerEvents[1] = gu16msTimer + KBI_DEBOUNCE;
//gu16Events |= KBI4_EVENT;
}
if ((u8keys & KBI_SW4) == KBI_SW4) {
//gu16timerEvents[1] = gu16msTimer + KBI_DEBOUNCE;
//gu16Events |= KBI5_EVENT;
}
KBI1SC_KBACK = 1;
}
作者:
strongchen
时间:
2007-6-6 09:42
你可以用MAP文件看一下你的中断矢量地址对不对。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/)
Powered by Discuz! 7.0.0