diff options
author | Daniel Garcia <danielgarcia@gmail.com> | 2014-04-03 23:28:13 +0400 |
---|---|---|
committer | Daniel Garcia <danielgarcia@gmail.com> | 2014-04-03 23:28:13 +0400 |
commit | 46464dbd4d8d570953ee42887b2611b080892382 (patch) | |
tree | aef89219bbb5acf44b8515db25ae7f5f016cb6c2 /clockless_trinket.h | |
parent | 87ab83d13786e42eab9706b419f9db52c360f2d3 (diff) |
Fix compiling dc_AVR for chipsets with long delay times in them, e.g. UCS1903
Diffstat (limited to 'clockless_trinket.h')
-rw-r--r-- | clockless_trinket.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clockless_trinket.h b/clockless_trinket.h index 50e49d85..16d3a261 100644 --- a/clockless_trinket.h +++ b/clockless_trinket.h @@ -23,7 +23,7 @@ template<int _LOOP, int PAD> inline void _dc_AVR(register uint8_t & loopvar) { // The convolution in here is to ensure that the state of the carry flag coming into the delay loop is preserved asm __volatile__ ( "BRCS L_PC%=\n\t" " LDI %[loopvar], %[_LOOP]\n\tL_%=: DEC %[loopvar]\n\t BRNE L_%=\n\tBREQ L_DONE%=\n\t" - "L_PC%=: LDI %[loopvar], %[_LOOP]\n\tL_%=: DEC %[loopvar]\n\t BRNE L_%=\n\tBSET 0\n\t" + "L_PC%=: LDI %[loopvar], %[_LOOP]\n\tLL_%=: DEC %[loopvar]\n\t BRNE LL_%=\n\tBSET 0\n\t" "L_DONE%=:\n\t" : [loopvar] "+a" (loopvar) : [_LOOP] "M" (_LOOP) : ); |