mbed library sources

Dependents:   Marvino mbot

Fork of mbed-src by mbed official

Committer:
jaerts
Date:
Tue Dec 22 13:22:16 2015 +0000
Revision:
637:ed69428d4850
Parent:
570:e6ed7264c56c
Add very shady LPC1768 CAN Filter implementation

Who changed what in which revision?

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