??? 04/22/10 17:11 Read: times |
#175279 - software debounce done :-) Responding to: ???'s previous message |
Hello Erick
as correctly pointed by you software debounce really helped rejecting those minute and small pulses as earlier whenever their was a noise pulse my ISR runs and evaluate the key and do the jobs , but now after my ISR runs (as this is from nand o/p saying a touch) I check for two samples to be same after a fixed small delay and if they are same I proceed else reject the same . here is code part it was simple done yesterday only but couldn’t post , the machine I have is proto showing improvement the actual unit reside at a far point it will take two to three days to get positive report from there the control loss of TR0 shows at the final product only (differ in body size and aluminium based membrane keypad ) and the problem over there is quite repetitive two or three zaps from gas lighter to the body initiates the problem and it remains until we do a HARD RESET i.e the TR0 part fails whereas the input part works ,still not clear to me the reason for the same ? ... char getKeyCode() { volatile char keyPressed=0,keyPressed_1=0,rowStatus=0,keyCode,i; keyPressed_1 = KEY; // get first value for(i=0;i<30;i++) delay_ms(); // wait here from some time keyPressed = KEY; //check port for same value as before if(keyPressed_1 == keyPressed ){ //valid key do the job } |