テスト用です。

Dependencies:   mbed

Committer:
jksoft
Date:
Tue Oct 11 11:09:42 2016 +0000
Revision:
0:8468a4403fea
SB??ver;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jksoft 0:8468a4403fea 1 #ifndef _NRF_DELAY_H
jksoft 0:8468a4403fea 2 #define _NRF_DELAY_H
jksoft 0:8468a4403fea 3
jksoft 0:8468a4403fea 4 // #include "nrf.h"
jksoft 0:8468a4403fea 5
jksoft 0:8468a4403fea 6 /*lint --e{438, 522} "Variable not used" "Function lacks side-effects" */
jksoft 0:8468a4403fea 7 #if defined ( __CC_ARM )
jksoft 0:8468a4403fea 8 static __ASM void __INLINE nrf_delay_us(uint32_t volatile number_of_us)
jksoft 0:8468a4403fea 9 {
jksoft 0:8468a4403fea 10 loop
jksoft 0:8468a4403fea 11 SUBS R0, R0, #1
jksoft 0:8468a4403fea 12 NOP
jksoft 0:8468a4403fea 13 NOP
jksoft 0:8468a4403fea 14 NOP
jksoft 0:8468a4403fea 15 NOP
jksoft 0:8468a4403fea 16 NOP
jksoft 0:8468a4403fea 17 NOP
jksoft 0:8468a4403fea 18 NOP
jksoft 0:8468a4403fea 19 NOP
jksoft 0:8468a4403fea 20 NOP
jksoft 0:8468a4403fea 21 NOP
jksoft 0:8468a4403fea 22 NOP
jksoft 0:8468a4403fea 23 NOP
jksoft 0:8468a4403fea 24 BNE loop
jksoft 0:8468a4403fea 25 BX LR
jksoft 0:8468a4403fea 26 }
jksoft 0:8468a4403fea 27 #elif defined ( __ICCARM__ )
jksoft 0:8468a4403fea 28 static void __INLINE nrf_delay_us(uint32_t volatile number_of_us)
jksoft 0:8468a4403fea 29 {
jksoft 0:8468a4403fea 30 __ASM (
jksoft 0:8468a4403fea 31 "loop:\n\t"
jksoft 0:8468a4403fea 32 " SUBS R0, R0, #1\n\t"
jksoft 0:8468a4403fea 33 " NOP\n\t"
jksoft 0:8468a4403fea 34 " NOP\n\t"
jksoft 0:8468a4403fea 35 " NOP\n\t"
jksoft 0:8468a4403fea 36 " NOP\n\t"
jksoft 0:8468a4403fea 37 " NOP\n\t"
jksoft 0:8468a4403fea 38 " NOP\n\t"
jksoft 0:8468a4403fea 39 " NOP\n\t"
jksoft 0:8468a4403fea 40 " NOP\n\t"
jksoft 0:8468a4403fea 41 " NOP\n\t"
jksoft 0:8468a4403fea 42 " NOP\n\t"
jksoft 0:8468a4403fea 43 " NOP\n\t"
jksoft 0:8468a4403fea 44 " NOP\n\t"
jksoft 0:8468a4403fea 45 " BNE loop\n\t");
jksoft 0:8468a4403fea 46 }
jksoft 0:8468a4403fea 47 #elif defined ( __GNUC__ )
jksoft 0:8468a4403fea 48 static void __INLINE nrf_delay_us(uint32_t volatile number_of_us)
jksoft 0:8468a4403fea 49 {
jksoft 0:8468a4403fea 50 do
jksoft 0:8468a4403fea 51 {
jksoft 0:8468a4403fea 52 __ASM volatile (
jksoft 0:8468a4403fea 53 "NOP\n\t"
jksoft 0:8468a4403fea 54 "NOP\n\t"
jksoft 0:8468a4403fea 55 "NOP\n\t"
jksoft 0:8468a4403fea 56 "NOP\n\t"
jksoft 0:8468a4403fea 57 "NOP\n\t"
jksoft 0:8468a4403fea 58 "NOP\n\t"
jksoft 0:8468a4403fea 59 "NOP\n\t"
jksoft 0:8468a4403fea 60 "NOP\n\t"
jksoft 0:8468a4403fea 61 "NOP\n\t"
jksoft 0:8468a4403fea 62 "NOP\n\t"
jksoft 0:8468a4403fea 63 "NOP\n\t"
jksoft 0:8468a4403fea 64 "NOP\n\t"
jksoft 0:8468a4403fea 65 "NOP\n\t"
jksoft 0:8468a4403fea 66 "NOP\n\t"
jksoft 0:8468a4403fea 67 );
jksoft 0:8468a4403fea 68 } while (--number_of_us);
jksoft 0:8468a4403fea 69 }
jksoft 0:8468a4403fea 70 #endif
jksoft 0:8468a4403fea 71
jksoft 0:8468a4403fea 72 void nrf_delay_ms(uint32_t volatile number_of_ms);
jksoft 0:8468a4403fea 73
jksoft 0:8468a4403fea 74 #endif