英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

标题: 关于 #int_ext 中断 [打印本页]

作者: winnie    时间: 2009-4-26 10:32
标题: 关于 #int_ext 中断
关于RB0的pullup,为什么在程序一开始,#int_ext 中断就执行了呢?
我已经port_b_pullups(TRUE);
并且 配置了:
   ext_int_edge(0, H_TO_L);
   enable_interrupts(int_ext);
按道理来说,只有RB0为低压时候才发生中断啊? 请大侠帮忙。万分感谢!
souce code:
#int_ext
void extInt_RB0(void) {
//start timer1:
//  output_high(PIN_A2);
  set_timer1(0);
  setup_timer_1(T1_INTERNAL);
  enable_interrupts(int_timer1);
  disable_interrupts(int_ext);
  flag_B0 = T;
//  output_low(PIN_A2);  
}
void main( ) {
   port_b_pullups(TRUE);
。。。
作者: winnie    时间: 2009-4-26 10:33
mcu自身设计原因造成
根据对ME片的观察,INTCON,RBIF,在复位的时候,基本不能复位到0,DATASHEET上也说的很明白,复位时候该位为X,即不确定。所以RBCHANGE,一开始就执行一次是很正常的。




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2