The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_RBLAB_NRF51822/TARGET_NORDIC/TARGET_MCU_NRF51822/device/nrf_delay.h
- Committer:
- Anna Bridge
- Date:
- 2018-04-20
- Revision:
- 166:5aab5a7997ee
- Parent:
- 128:9bcdf88f62b0
File content as of revision 166:5aab5a7997ee:
#ifndef _NRF_DELAY_H #define _NRF_DELAY_H // #include "nrf.h" /*lint --e{438, 522} "Variable not used" "Function lacks side-effects" */ #if defined ( __CC_ARM ) static __ASM void __INLINE nrf_delay_us(uint32_t volatile number_of_us) { loop SUBS R0, R0, #1 NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP NOP BNE loop BX LR } #elif defined ( __ICCARM__ ) static void __INLINE nrf_delay_us(uint32_t volatile number_of_us) { __ASM ( "loop:\n\t" " SUBS R0, R0, #1\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " NOP\n\t" " BNE loop\n\t"); } #elif defined ( __GNUC__ ) static __INLINE void nrf_delay_us(uint32_t volatile number_of_us) { do { __ASM volatile ( "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" "NOP\n\t" ); } while (--number_of_us); } #endif void nrf_delay_ms(uint32_t volatile number_of_ms); #endif