|
我的目的是要当input = 1 时 ,output = - output_high(PIN_B1);
- output_high(PIN_B2);
- delay_ms(25000);
- output_high(PIN_B1);
- output_low(PIN_B2);
- delay_ms(5000);
复制代码
当input = 0 时,output =- output_high(PIN_B1);
- output_low(PIN_B2);
复制代码
如果现在input=1 而output 正在走着时
input state忽然间变0 了
我要output 直接跳去input =0 的output
请问我的code 那里出了问题
因为我test run 时 。。result 并非我expect 的
谢谢
- #include "16f84a.h"
- #use delay (clock=10000000)
- #int_ext // Interrupt name
- void isrext() // Interrupt service routine
- { output_high(PIN_B1);
- output_low(PIN_B2);
- }
- void main ()
- {
- enable_interrupts(int_ext); // Enable named interrupt
- ext_int_edge(H_TO_L); // Interrupt signal polarity
- while(1)
- {
- if( input(PIN_B0)==1)
- {
- output_high(PIN_B1);
- output_high(PIN_B2);
- delay_ms(25000);
- output_high(PIN_B1);
- output_low(PIN_B2);
- delay_ms(5000);
- continue;
- }
- else
- {
- output_high(PIN_B1);
- output_low(PIN_B2);
-
- }
- }
- }
复制代码 |
|