[sam] Fixing wrong reference to Wait() and some cosmetics

This commit is contained in:
aethaniel 2011-07-14 00:10:48 +02:00
parent 3707a81640
commit 2713ec4dca
22 changed files with 815 additions and 793 deletions

View File

@ -92,11 +92,10 @@ extern void analogWrite( uint8_t, int ) ;
// wiring.c // wiring.c
extern void init( void ) ; extern void init( void ) ;
extern unsigned long millis( void ) ; extern uint32_t millis( void ) ;
extern unsigned long micros( void ) ; extern uint32_t micros( void ) ;
//void delay(unsigned long); extern void delay( uint32_t dwMs ) ;
#define delay( dwMs ) Wait( dwMs ) extern void delayMicroseconds( uint32_t dwUs ) ;
extern void delayMicroseconds( unsigned int us ) ;
// wiring_shift.c // wiring_shift.c
extern void shiftOut( uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val ) ; extern void shiftOut( uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val ) ;
@ -143,15 +142,15 @@ uint16_t makeWord( byte h, byte l ) ;
#define word(...) makeWord(__VA_ARGS__) #define word(...) makeWord(__VA_ARGS__)
extern unsigned long pulseIn( uint8_t pin, uint8_t state, unsigned long timeout = 1000000L ) ; extern uint32_t pulseIn( uint32_t pin, uint32_t state, uint32_t timeout = 1000000L ) ;
extern void tone( uint8_t _pin, unsigned int frequency, unsigned long duration = 0 ) ; extern void tone( uint32_t dwPin, uint32_t dwFrequency, uint32_t dwDuration = 0 ) ;
extern void noTone( uint8_t _pin ) ; extern void noTone( uint32_t dwPin ) ;
// WMath prototypes // WMath prototypes
extern long random( long ) ; extern long random( long ) ;
extern long random( long, long ) ; extern long random( long, long ) ;
extern void randomSeed( unsigned int ) ; extern void randomSeed( uint32_t dwSeed ) ;
extern long map( long, long, long, long, long ) ; extern long map( long, long, long, long, long ) ;
#endif // __cplusplus #endif // __cplusplus

View File

@ -25,29 +25,36 @@
extern "C" { extern "C" {
#include "stdlib.h" #include "stdlib.h"
#include "stdint.h"
} }
void randomSeed(unsigned int seed) void randomSeed( uint32_t dwSeed )
{ {
if (seed != 0) { if ( dwSeed != 0 )
srand(seed); {
srand( dwSeed ) ;
} }
} }
long random(long howbig) long random( long howbig )
{ {
if (howbig == 0) { if ( howbig == 0 )
return 0; {
return 0 ;
} }
return rand() % howbig; return rand() % howbig;
} }
long random(long howsmall, long howbig) long random( long howsmall, long howbig )
{ {
if (howsmall >= howbig) { if (howsmall >= howbig)
{
return howsmall; return howsmall;
} }
long diff = howbig - howsmall; long diff = howbig - howsmall;
return random(diff) + howsmall; return random(diff) + howsmall;
} }
@ -56,5 +63,12 @@ long map(long x, long in_min, long in_max, long out_min, long out_max)
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
} }
unsigned int makeWord(unsigned int w) { return w; } uint32_t makeWord( uint32_t w )
unsigned int makeWord(unsigned char h, unsigned char l) { return (h << 8) | l; } {
return w ;
}
uint32_t makeWord( uint8_t h, uint8_t l )
{
return (h << 8) | l ;
}

View File

@ -105,6 +105,8 @@ wiring.o:
00000000 T SysTick_Handler 00000000 T SysTick_Handler
U TimeTick_Increment U TimeTick_Increment
U WDT_Disable U WDT_Disable
U Wait
00000000 T delay
00000000 T delayMicroseconds 00000000 T delayMicroseconds
00000000 T init 00000000 T init
00000000 T micros 00000000 T micros
@ -256,12 +258,12 @@ USART.o:
U __cxa_pure_virtual U __cxa_pure_virtual
WMath.o: WMath.o:
00000000 T _Z10randomSeedj 00000000 T _Z10randomSeedm
00000000 T _Z3maplllll 00000000 T _Z3maplllll
00000000 T _Z6randoml 00000000 T _Z6randoml
00000000 T _Z6randomll 00000000 T _Z6randomll
00000000 T _Z8makeWordhh 00000000 T _Z8makeWordhh
00000000 T _Z8makeWordj 00000000 T _Z8makeWordm
U rand U rand
U srand U srand

View File

@ -1,280 +1,281 @@
00402140 t .udivsi3_skip_div0_test 00402190 t .udivsi3_skip_div0_test
00401b3c W ACC_IrqHandler 00401b58 W ACC_IrqHandler
00401b3c W ADC_IrqHandler 00401b58 W ADC_IrqHandler
004053e4 t APinDescription 00405434 t APinDescription
00404ff0 t APinDescription 00405040 t APinDescription
00401b3c W BusFault_Handler 00401b58 W BusFault_Handler
00401b3c W CRCCU_IrqHandler 00401b58 W CRCCU_IrqHandler
00401b3c W DAC_IrqHandler 00401b58 W DAC_IrqHandler
00401b3c W DebugMon_Handler 00401b58 W DebugMon_Handler
00401b3c T Dummy_Handler 00401b58 T Dummy_Handler
00401b3c W EEFC_IrqHandler 00401b58 W EEFC_IrqHandler
00401b3c W HardFault_Handler 00401b58 W HardFault_Handler
00400308 t LowLevelInit_sam3s_ek 00400324 t LowLevelInit_sam3s_ek
00401b3c W MCI_IrqHandler 00401b58 W MCI_IrqHandler
004053e2 t MISO 00405432 t MISO
00404fee t MISO 0040503e t MISO
004053e1 t MOSI 00405431 t MOSI
00404fed t MOSI 0040503d t MOSI
00401b3c W MemManage_Handler 00401b58 W MemManage_Handler
00401b3c W NMI_Handler 00401b58 W NMI_Handler
00400248 t NVIC_SetPriority 00400248 t NVIC_SetPriority
00401b3c W PIOA_IrqHandler 00401b58 W PIOA_IrqHandler
00401b3c W PIOB_IrqHandler 00401b58 W PIOB_IrqHandler
00401b3c W PIOC_IrqHandler 00401b58 W PIOC_IrqHandler
00401d80 T PIO_Configure 00401d9c T PIO_Configure
00401b44 T PIO_DisableInterrupt 00401b60 T PIO_DisableInterrupt
00401b60 T PIO_PullUp 00401b7c T PIO_PullUp
00401c9c T PIO_SetInput 00401cb8 T PIO_SetInput
00401d1c T PIO_SetOutput 00401d38 T PIO_SetOutput
00401b90 T PIO_SetPeripheral 00401bac T PIO_SetPeripheral
00401f1c T PMC_DisablePeripheral 00401f38 T PMC_DisablePeripheral
00401e78 T PMC_EnablePeripheral 00401e94 T PMC_EnablePeripheral
00401b3c W PMC_IrqHandler 00401b58 W PMC_IrqHandler
00401b3c W PWM_IrqHandler 00401b58 W PWM_IrqHandler
00401b3c W PendSV_Handler 00401b58 W PendSV_Handler
00401b3c W RSTC_IrqHandler 00401b58 W RSTC_IrqHandler
00401b3c W RTC_IrqHandler 00401b58 W RTC_IrqHandler
00401b3c W RTT_IrqHandler 00401b58 W RTT_IrqHandler
00400188 T Reset_Handler 00400188 T Reset_Handler
004053e3 t SCK 00405433 t SCK
00404fef t SCK 0040503f t SCK
00401b3c W SMC_IrqHandler 00401b58 W SMC_IrqHandler
00401b3c W SPI_IrqHandler 00401b58 W SPI_IrqHandler
00404fec t SS 0040503c t SS
004053e0 t SS 00405430 t SS
00401b3c W SSC_IrqHandler 00401b58 W SSC_IrqHandler
00401b3c W SUPC_IrqHandler 00401b58 W SUPC_IrqHandler
00401b3c W SVC_Handler 00401b58 W SVC_Handler
200006a8 B Serial1 200006a8 B Serial1
200006c0 B Serial2 200006c0 B Serial2
004002a0 t SysTick_Config 004002a0 t SysTick_Config
004002f8 T SysTick_Handler 00400314 T SysTick_Handler
00401b3c W TC0_IrqHandler 00401b58 W TC0_IrqHandler
00401b3c W TC1_IrqHandler 00401b58 W TC1_IrqHandler
00401b3c W TC2_IrqHandler 00401b58 W TC2_IrqHandler
00401b3c W TC3_IrqHandler 00401b58 W TC3_IrqHandler
00401b3c W TC4_IrqHandler 00401b58 W TC4_IrqHandler
00401b3c W TC5_IrqHandler 00401b58 W TC5_IrqHandler
00401b3c W TWI0_IrqHandler 00401b58 W TWI0_IrqHandler
00401b3c W TWI1_IrqHandler 00401b58 W TWI1_IrqHandler
00401fdc T TimeTick_Increment 00401ff8 T TimeTick_Increment
00401b3c W UART0_IrqHandler 00401b58 W UART0_IrqHandler
00401b3c W UART1_IrqHandler 00401b58 W UART1_IrqHandler
00401b3c W USART0_IrqHandler 00401b58 W USART0_IrqHandler
00401b3c W USART1_IrqHandler 00401b58 W USART1_IrqHandler
00401b3c W USBD_IrqHandler 00401b58 W USBD_IrqHandler
00401b3c W UsageFault_Handler 00401b58 W UsageFault_Handler
00401fc0 T WDT_Disable 00401fdc T WDT_Disable
00401b3c W WDT_IrqHandler 00401b58 W WDT_IrqHandler
004009f8 t _GLOBAL__I_rx_buffer1 00402014 T Wait
00400a14 t _GLOBAL__I_rx_buffer1
w _Jv_RegisterClasses w _Jv_RegisterClasses
00400980 t _Z41__static_initialization_and_destruction_0ii 0040099c t _Z41__static_initialization_and_destruction_0ii
U _Z4Waitm 00405848 t _ZL15APinDescription
004057f8 t _ZL15APinDescription 00404c4c t _ZL15APinDescription
00404bfc t _ZL15APinDescription 00405c68 t _ZL15APinDescription
00405c18 t _ZL15APinDescription 00405844 t _ZL2SS
004057f4 t _ZL2SS 00405c64 t _ZL2SS
00404bf6 t _ZL2SS 00404c46 t _ZL2SS
00405c14 t _ZL2SS 00405c67 t _ZL3SCK
00405c17 t _ZL3SCK 00405847 t _ZL3SCK
00404bf9 t _ZL3SCK 00404c49 t _ZL3SCK
004057f7 t _ZL3SCK 00405846 t _ZL4MISO
00405c16 t _ZL4MISO 00405c66 t _ZL4MISO
004057f6 t _ZL4MISO 00404c48 t _ZL4MISO
00404bf8 t _ZL4MISO 00405845 t _ZL4MOSI
004057f5 t _ZL4MOSI 00404c47 t _ZL4MOSI
00404bf7 t _ZL4MOSI 00405c65 t _ZL4MOSI
00405c15 t _ZL4MOSI 004006e8 W _ZN14HardwareSerialC1Ev
004006cc W _ZN14HardwareSerialC1Ev 004006e8 W _ZN14HardwareSerialC2Ev
004006cc W _ZN14HardwareSerialC2Ev 00400604 T _ZN5Print5printEPKc
004005e8 T _ZN5Print5printEPKc 00400628 T _ZN5Print5printEc
0040060c T _ZN5Print5printEc 0040057c T _ZN5Print5writeEPKc
00400560 T _ZN5Print5writeEPKc 004005bc T _ZN5Print5writeEPKhj
004005a0 T _ZN5Print5writeEPKhj 00400674 T _ZN5Print7printlnEPKc
00400658 T _ZN5Print7printlnEPKc 0040064c T _ZN5Print7printlnEv
00400630 T _ZN5Print7printlnEv 0040069c W _ZN5PrintC1Ev
00400680 W _ZN5PrintC1Ev 0040069c W _ZN5PrintC2Ev
00400680 W _ZN5PrintC2Ev 004006bc W _ZN6StreamC1Ev
004006a0 W _ZN6StreamC1Ev 004006bc W _ZN6StreamC2Ev
004006a0 W _ZN6StreamC2Ev 004007c0 T _ZN9UARTClass3endEv
004007a4 T _ZN9UARTClass3endEv 00400830 T _ZN9UARTClass4peekEv
00400814 T _ZN9UARTClass4peekEv 00400870 T _ZN9UARTClass4readEv
00400854 T _ZN9UARTClass4readEv 00400764 T _ZN9UARTClass5beginEm
00400748 T _ZN9UARTClass5beginEm 004008c8 T _ZN9UARTClass5flushEv
004008ac T _ZN9UARTClass5flushEv 004008f4 T _ZN9UARTClass5writeEh
004008d8 T _ZN9UARTClass5writeEh 00400804 T _ZN9UARTClass9availableEv
004007e8 T _ZN9UARTClass9availableEv 00400714 T _ZN9UARTClassC1EP4Uart4IRQnmP12_ring_bufferS4_
004006f8 T _ZN9UARTClassC1EP4Uart4IRQnmP12_ring_bufferS4_ 00400714 T _ZN9UARTClassC2EP4Uart4IRQnmP12_ring_bufferS4_
004006f8 T _ZN9UARTClassC2EP4Uart4IRQnmP12_ring_bufferS4_ 00406058 V _ZTV14HardwareSerial
00406008 V _ZTV14HardwareSerial 00405830 T _ZTV5Print
004057e0 T _ZTV5Print 00406088 V _ZTV6Stream
00406038 V _ZTV6Stream 00405c38 T _ZTV9UARTClass
00405be8 T _ZTV9UARTClass 00406100 t __FUNCTION__.5774
004060b0 t __FUNCTION__.5774 004060e8 t __FUNCTION__.5778
00406098 t __FUNCTION__.5778 004060d4 t __FUNCTION__.5800
00406084 t __FUNCTION__.5800 00402408 W __aeabi_idiv0
004023b8 W __aeabi_idiv0 00402408 W __aeabi_ldiv0
004023b8 W __aeabi_ldiv0 00402190 T __aeabi_uidiv
00402140 T __aeabi_uidiv 004023ec T __aeabi_uidivmod
0040239c T __aeabi_uidivmod 00404544 T __aeabi_uldivmod
004044f4 T __aeabi_uldivmod 00404334 T __ascii_wctomb
004042e4 T __ascii_wctomb 00402454 T __assert
00402404 T __assert 0040240c T __assert_func
004023bc T __assert_func 00400a2c T __cxa_pure_virtual
00400a10 T __cxa_pure_virtual 004045d0 T __divdi3
00404580 T __divdi3
004000d0 t __do_global_dtors_aux 004000d0 t __do_global_dtors_aux
00406200 t __do_global_dtors_aux_fini_array_entry 00406250 t __do_global_dtors_aux_fini_array_entry
00406204 T __fini_array_end 00406254 T __fini_array_end
00406200 T __fini_array_start 00406250 T __fini_array_start
0040357c t __fp_lock 004035cc t __fp_lock
0040376c T __fp_lock_all 004037bc T __fp_lock_all
00403580 t __fp_unlock 004035d0 t __fp_unlock
00403784 T __fp_unlock_all 004037d4 T __fp_unlock_all
004061ec t __frame_dummy_init_array_entry 0040623c t __frame_dummy_init_array_entry
00404520 T __gnu_ldivmod_helper 00404570 T __gnu_ldivmod_helper
00404550 T __gnu_uldivmod_helper 004045a0 T __gnu_uldivmod_helper
004061f4 T __init_array_end 00406244 T __init_array_end
004061ec T __init_array_start 0040623c T __init_array_start
00400a18 T __libc_init_array 00400a34 T __libc_init_array
00403d1c T __locale_charset 00403d6c T __locale_charset
00403d3c T __locale_cjk_lang 00403d8c T __locale_cjk_lang
00403d28 T __locale_mb_cur_max 00403d78 T __locale_mb_cur_max
00403d34 T __locale_msgcharset 00403d84 T __locale_msgcharset
20000000 D __malloc_av_ 20000000 D __malloc_av_
200006dc B __malloc_current_mallinfo 200006dc B __malloc_current_mallinfo
004011e8 T __malloc_lock 00401204 T __malloc_lock
20000704 B __malloc_max_sbrked_mem 20000704 B __malloc_max_sbrked_mem
20000708 B __malloc_max_total_mem 20000708 B __malloc_max_total_mem
20000408 D __malloc_sbrk_base 20000408 D __malloc_sbrk_base
200006d8 B __malloc_top_pad 200006d8 B __malloc_top_pad
2000040c D __malloc_trim_threshold 2000040c D __malloc_trim_threshold
004011ec T __malloc_unlock 00401208 T __malloc_unlock
20000524 D __mb_cur_max 20000524 D __mb_cur_max
004061ec T __preinit_array_end 0040623c T __preinit_array_end
004061ec T __preinit_array_start 0040623c T __preinit_array_start
00404110 T __sclose 00404160 T __sclose
004040a8 T __seofread 004040f8 T __seofread
004061b4 T __sf_fake_stderr 00406204 T __sf_fake_stderr
00406174 T __sf_fake_stdin 004061c4 T __sf_fake_stdin
00406194 T __sf_fake_stdout 004061e4 T __sf_fake_stdout
00403590 T __sfmoreglue 004035e0 T __sfmoreglue
004036d4 T __sfp 00403724 T __sfp
0040375c T __sfp_lock_acquire 004037ac T __sfp_lock_acquire
00403760 T __sfp_lock_release 004037b0 T __sfp_lock_release
004038dc T __sfvwrite_r 0040392c T __sfvwrite_r
00404044 T __sigtramp 00404094 T __sigtramp
00403fc4 T __sigtramp_r 00404014 T __sigtramp_r
004035cc T __sinit 0040361c T __sinit
00403764 T __sinit_lock_acquire 004037b4 T __sinit_lock_acquire
00403768 T __sinit_lock_release 004037b8 T __sinit_lock_release
00403d60 T __smakebuf_r 00403db0 T __smakebuf_r
004024c0 T __sprint_r 00402510 T __sprint_r
00404084 T __sread 004040d4 T __sread
004040e8 T __sseek 00404138 T __sseek
00404204 T __swbuf 00404254 T __swbuf
00404118 T __swbuf_r 00404168 T __swbuf_r
004040ac T __swrite 004040fc T __swrite
0040327c T __swsetup_r 004032cc T __swsetup_r
004048e0 T __udivdi3 00404930 T __udivdi3
00402140 T __udivsi3 00402190 T __udivsi3
20000580 D __wctomb 20000580 D __wctomb
004035c0 T _cleanup 00403610 T _cleanup
00403584 T _cleanup_r 004035d4 T _cleanup_r
00402038 T _close 00402084 T _close
0040435c T _close_r 004043ac T _close_r
2000070c b _dwTickCount 2000070c b _dwTickCount
20000718 B _ebss 20000718 B _ebss
00406204 T _efixed 00406254 T _efixed
20002b18 A _end 20002b18 A _end
20000584 D _erelocate 20000584 D _erelocate
0040620c A _etext 0040625c A _etext
00402100 T _exit 0040214c T _exit
20000718 B _ezero 20000718 B _ezero
00404384 T _fclose_r 004043d4 T _fclose_r
00403390 T _fflush_r 004033e0 T _fflush_r
004061f4 T _fini 00406244 T _fini
00402410 T _fiprintf_r 00402460 T _fiprintf_r
0040379c T _fputwc_r 004037ec T _fputwc_r
00401918 T _free_r 00401934 T _free_r
00402050 T _fstat 0040209c T _fstat
00404448 T _fstat_r 00404498 T _fstat_r
00403c14 T _fwalk 00403c64 T _fwalk
00403c68 T _fwalk_reent 00403cb8 T _fwalk_reent
00402130 T _getpid 0040217c T _getpid
00404080 T _getpid_r 004040d0 T _getpid_r
00406060 T _global_impure_ptr 004060b0 T _global_impure_ptr
20000410 D _impure_ptr 20000410 D _impure_ptr
004061e0 T _init 00406230 T _init
00404038 T _init_signal 00404088 T _init_signal
00403f00 T _init_signal_r 00403f50 T _init_signal_r
00402494 T _iprintf_r 004024e4 T _iprintf_r
00402074 T _isatty 004020c0 T _isatty
00404474 T _isatty_r 004044c4 T _isatty_r
0040211c T _kill 00402168 T _kill
00404054 T _kill_r 004040a4 T _kill_r
00403d40 T _localeconv_r 00403d90 T _localeconv_r
0040208c T _lseek 004020d8 T _lseek
0040449c T _lseek_r 004044ec T _lseek_r
00400a68 T _malloc_r 00400a84 T _malloc_r
00401870 T _malloc_trim_r 0040188c T _malloc_trim_r
00403f6c T _raise_r 00403fbc T _raise_r
004020a8 T _read 004020f4 T _read
004044c8 T _read_r 00404518 T _read_r
004011f0 T _realloc_r 0040120c T _realloc_r
00401ff8 T _sbrk 00402044 T _sbrk
0040160c T _sbrk_r 00401628 T _sbrk_r
20000584 B _sbss 20000584 B _sbss
00403cc0 T _setlocale_r 00403d10 T _setlocale_r
00400000 T _sfixed 00400000 T _sfixed
00403f30 T _signal_r 00403f80 T _signal_r
20000000 D _srelocate 20000000 D _srelocate
20000584 B _szero 20000584 B _szero
00402544 T _vfiprintf_r 00402594 T _vfiprintf_r
00404214 T _wcrtomb_r 00404264 T _wcrtomb_r
00404300 T _wctomb_r 00404350 T _wctomb_r
004020c4 T _write 00402110 T _write
00404330 T _write_r 00404380 T _write_r
00403380 T abort 004033d0 T abort
00406124 t blanks.6556 00406174 t blanks.6556
20000584 b completed.7631 20000584 b completed.7631
004004e4 T digitalWrite 004002f8 T delay
00400500 T digitalWrite
20000714 B errno 20000714 B errno
00404438 T fclose 00404488 T fclose
00403554 T fflush 004035a4 T fflush
00402430 T fiprintf 00402480 T fiprintf
00403884 T fputwc 004038d4 T fputwc
004000e4 t frame_dummy 004000e4 t frame_dummy
20000710 b heap.6819 20000710 b heap.6819
20000414 d impure_data 20000414 d impure_data
004003c0 T init 004003dc T init
0040245c T iprintf 004024ac T iprintf
20000504 d lc_ctype_charset 20000504 d lc_ctype_charset
20000528 d lc_message_charset 20000528 d lc_message_charset
20000548 d lconv 20000548 d lconv
00403d58 T localeconv 00403da8 T localeconv
00400128 T loop 00400128 T loop
00400960 T main 0040097c T main
00401ab0 T memchr 00401acc T memchr
00400fe4 T memcpy 00401000 T memcpy
00401134 T memmove 00401150 T memmove
00403e4c T memset 00403e9c T memset
20000718 B pdwStack 20000718 B pdwStack
0040040c T pinMode 00400428 T pinMode
00404018 T raise 00404068 T raise
20000588 B rx_buffer1 20000588 B rx_buffer1
20000618 B rx_buffer2 20000618 B rx_buffer2
00403d48 T setlocale 00403d98 T setlocale
00400100 T setup 00400100 T setup
00000000 a shift 00000000 a shift
00404028 T signal 00404078 T signal
00401634 T strcmp 00401650 T strcmp
004016b4 t strcmp_unaligned 004016d0 t strcmp_unaligned
00401810 T strlen 0040182c T strlen
200005d0 B tx_buffer1 200005d0 B tx_buffer1
20000660 B tx_buffer2 20000660 B tx_buffer2
00400000 T vector_table 00400000 T vector_table
00403260 T vfiprintf 004032b0 T vfiprintf
00404270 T wcrtomb 004042c0 T wcrtomb
00406134 t zeroes.6557 00406184 t zeroes.6557

File diff suppressed because it is too large Load Diff

View File

@ -68,7 +68,7 @@ uint32_t millis( void )
return GetTickCount() ; return GetTickCount() ;
} }
unsigned long micros( void ) uint32_t micros( void )
{ {
/* /*
unsigned long m; unsigned long m;
@ -100,17 +100,17 @@ unsigned long micros( void )
return 0 ; return 0 ;
} }
//void delay( uint32_t dwMs ) void delay( uint32_t dwMs )
//{ {
// Wait( dwMs ) ; Wait( dwMs ) ;
//} }
/* Delay for the given number of microseconds. Assumes a 64 MHz clock. */ /* Delay for the given number of microseconds. Assumes a 64 MHz clock. */
void delayMicroseconds(unsigned int us) void delayMicroseconds( uint32_t dwUs )
{ {
unsigned long startMicros = micros(); uint32_t dwStartMicros=micros() ;
while ((micros() - startMicros) < us) while ( (micros() - dwStartMicros) < dwUs )
{ {
//* do nothing //* do nothing
} }