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:
Kojto
Date:
Wed Aug 05 13:16:35 2015 +0100
Revision:
104:b9ad9a133dc7
Release 104 of the mbed library:

Changes:
- new platforms: nrf51 microbit
- MAXxxx - fix pwm array search
- LPC8xx - usart enable fix

Who changed what in which revision?

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