X-Git-Url: https://git.smho.de/gw/?p=owSlave2.git;a=blobdiff_plain;f=common%2FOWPinInterrupt.s;h=5cf444b6fb42ce5172c48b8b1bd2a620b70b6221;hp=b5b7b87d3cae315c59f680eeacd4545cb343b59f;hb=eb07c81c36a283327b156eeee4d3d5030a4ed75f;hpb=a28cbb81b2a151999f75dae825107aaecae427a2 diff --git a/common/OWPinInterrupt.s b/common/OWPinInterrupt.s index b5b7b87..5cf444b 100644 --- a/common/OWPinInterrupt.s +++ b/common/OWPinInterrupt.s @@ -43,6 +43,7 @@ PIN_INTERRIPT: ;Weitere Register sichern push r_temp2 push r_temp + sdb ; Wegen Power Down Mode Widerherstellen der fallenden Flanke und disable von POWER DONW SET_FALLING_RESET_SLEEP push r_bcount @@ -117,14 +118,14 @@ zeropolling: sbic OW_PIN,OW_PINN ;warten bis leitung wieder h rjmp zeropolling_wait ;leitung ist low ->Schleie in r_temp,TCNT_REG - cpi r_temp,(~OWT_MIN_RESET)+50;aller zwei us zaehlt der timer + cpi r_temp,(~OWT_MIN_RESET)+OWT_ZP_WAIT_LOW_TO;aller zwei us zaehlt der timer brsh zeropolling_timeout ;Timeout Reset? rjmp zeropolling zeropolling_wait: sbis OW_PIN,OW_PINN ;warten bis leitung wieder l rjmp zeropolling_low_imp ;Leitung ist low raus aus schleufe in r_temp,TCNT_REG - cpi r_temp,(~OWT_MIN_RESET)+70 ;aller zwei us zaehlt der timer + cpi r_temp,(~OWT_MIN_RESET)+OWT_ZP_WAIT_HIGH_TO ;aller zwei us zaehlt der timer brsh zeropolling_timeout ;Timeout rjmp zeropolling_wait zeropolling_low_imp: @@ -143,11 +144,11 @@ no_zerromaker: sts sendflag,r_sendflag sts bcount,r_bcount sts rwbyte,r_rwbyte - //cdb pop r_sendflag pop r_rwbyte pop r_bcount pop r_temp + cdb cbi OW_DDR,OW_PINN ;vorsichtsmassname Nicht dauerhaft auf low pop r_temp2 //; die benutzten Register wiederherstellen out _SFR_IO_ADDR(SREG),r_temp2