diff options
| author | Perry Hung <iperry@gmail.com> | 2011-03-21 02:45:58 -0400 | 
|---|---|---|
| committer | Perry Hung <iperry@gmail.com> | 2011-03-21 02:47:53 -0400 | 
| commit | 7241820179bb729d14900676fbff943f7f44cb97 (patch) | |
| tree | d60a38f908eda00b934b6d3452f6a777c4277be6 /libmaple/delay.h | |
| parent | 1591fc9e3f851327c16bbcb88e6abee1706f9cfc (diff) | |
| parent | c73306508820705eef4f2cb9f8542acdba599cd8 (diff) | |
| download | librambutan-7241820179bb729d14900676fbff943f7f44cb97.tar.gz librambutan-7241820179bb729d14900676fbff943f7f44cb97.zip | |
Merge branch 'i2c-wip' into refactor
Conflicts:
	examples/test-fsmc.cpp
	libmaple/rules.mk
	wirish/boards.h
Diffstat (limited to 'libmaple/delay.h')
| -rw-r--r-- | libmaple/delay.h | 22 | 
1 files changed, 22 insertions, 0 deletions
| diff --git a/libmaple/delay.h b/libmaple/delay.h new file mode 100644 index 0000000..10839c9 --- /dev/null +++ b/libmaple/delay.h @@ -0,0 +1,22 @@ +/** + *  @brief  + */ + +#ifndef _DELAY_H_ +#define _DELAY_H_ + +static inline void delay_us(uint32 us) { +    /* So (2^32)/12 micros max, or less than 6 minutes */ +    us *= 12; + +    /* fudge for function call overhead  */ +    us--; +    asm volatile("   mov r0, %[us]          \n\t" +                 "1: subs r0, #1            \n\t" +                 "   bhi 1b                 \n\t" +                 : +                 : [us] "r" (us) +                 : "r0"); +} +#endif + | 
