Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed by
TARGET_SEEED_TINY_BLE/nrf_delay.h@102:da0ca467f8b5, 2015-07-08 (annotated)
- Committer:
- Kojto
- Date:
- Wed Jul 08 11:22:30 2015 +0100
- Revision:
- 102:da0ca467f8b5
- Parent:
- 97:433970e64889
Release 102 of the mbed library
Changes:
- new platform: MPS2
- K64f - mac address fix
- Freescale Kinetis - Serial NC handling fix
- Asynch constnes fixes
- startup files .s - change extension to .S
- APPNEARME_MICRONFCBOARD rename to MICRONFCBOARD
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Kojto | 97:433970e64889 | 1 | #ifndef _NRF_DELAY_H |
| Kojto | 97:433970e64889 | 2 | #define _NRF_DELAY_H |
| Kojto | 97:433970e64889 | 3 | |
| Kojto | 97:433970e64889 | 4 | // #include "nrf.h" |
| Kojto | 97:433970e64889 | 5 | |
| Kojto | 97:433970e64889 | 6 | /*lint --e{438, 522} "Variable not used" "Function lacks side-effects" */ |
| Kojto | 97:433970e64889 | 7 | #if defined ( __CC_ARM ) |
| Kojto | 97:433970e64889 | 8 | static __ASM void __INLINE nrf_delay_us(uint32_t volatile number_of_us) |
| Kojto | 97:433970e64889 | 9 | { |
| Kojto | 97:433970e64889 | 10 | loop |
| Kojto | 97:433970e64889 | 11 | SUBS R0, R0, #1 |
| Kojto | 97:433970e64889 | 12 | NOP |
| Kojto | 97:433970e64889 | 13 | NOP |
| Kojto | 97:433970e64889 | 14 | NOP |
| Kojto | 97:433970e64889 | 15 | NOP |
| Kojto | 97:433970e64889 | 16 | NOP |
| Kojto | 97:433970e64889 | 17 | NOP |
| Kojto | 97:433970e64889 | 18 | NOP |
| Kojto | 97:433970e64889 | 19 | NOP |
| Kojto | 97:433970e64889 | 20 | NOP |
| Kojto | 97:433970e64889 | 21 | NOP |
| Kojto | 97:433970e64889 | 22 | NOP |
| Kojto | 97:433970e64889 | 23 | NOP |
| Kojto | 97:433970e64889 | 24 | BNE loop |
| Kojto | 97:433970e64889 | 25 | BX LR |
| Kojto | 97:433970e64889 | 26 | } |
| Kojto | 97:433970e64889 | 27 | #elif defined ( __ICCARM__ ) |
| Kojto | 97:433970e64889 | 28 | static void __INLINE nrf_delay_us(uint32_t volatile number_of_us) |
| Kojto | 97:433970e64889 | 29 | { |
| Kojto | 97:433970e64889 | 30 | __ASM ( |
| Kojto | 97:433970e64889 | 31 | "loop:\n\t" |
| Kojto | 97:433970e64889 | 32 | " SUBS R0, R0, #1\n\t" |
| Kojto | 97:433970e64889 | 33 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 34 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 35 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 36 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 37 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 38 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 39 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 40 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 41 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 42 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 43 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 44 | " NOP\n\t" |
| Kojto | 97:433970e64889 | 45 | " BNE loop\n\t"); |
| Kojto | 97:433970e64889 | 46 | } |
| Kojto | 97:433970e64889 | 47 | #elif defined ( __GNUC__ ) |
| Kojto | 102:da0ca467f8b5 | 48 | __INLINE static void nrf_delay_us(uint32_t volatile number_of_us) |
| Kojto | 97:433970e64889 | 49 | { |
| Kojto | 97:433970e64889 | 50 | do |
| Kojto | 97:433970e64889 | 51 | { |
| Kojto | 97:433970e64889 | 52 | __ASM volatile ( |
| Kojto | 97:433970e64889 | 53 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 54 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 55 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 56 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 57 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 58 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 59 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 60 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 61 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 62 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 63 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 64 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 65 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 66 | "NOP\n\t" |
| Kojto | 97:433970e64889 | 67 | ); |
| Kojto | 97:433970e64889 | 68 | } while (--number_of_us); |
| Kojto | 97:433970e64889 | 69 | } |
| Kojto | 97:433970e64889 | 70 | #endif |
| Kojto | 97:433970e64889 | 71 | |
| Kojto | 97:433970e64889 | 72 | void nrf_delay_ms(uint32_t volatile number_of_ms); |
| Kojto | 97:433970e64889 | 73 | |
| Kojto | 97:433970e64889 | 74 | #endif |
