Fork of the official mbed C/C SDK provides the software platform and libraries to build your applications for RenBED.

Dependents:   1-RenBuggyTimed RenBED_RGB RenBED_RGB_PWM RenBED_RGB

Fork of mbed by mbed official

Committer:
elijahorr
Date:
Thu Apr 14 07:28:54 2016 +0000
Revision:
121:672067c3ada4
Parent:
113:f141b2784e32
.

Who changed what in which revision?

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