mbed library sources. Supersedes mbed-src.

Fork of mbed by teralytic

Committer:
rodriguise
Date:
Mon Oct 17 18:47:01 2016 +0000
Revision:
148:4802eb17e82b
Parent:
144:ef7eb2e8f9f7
backup

Who changed what in which revision?

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