APM:Libraries
delay.h
Go to the documentation of this file.
1 
5 #ifndef _DELAY_H_
6 #define _DELAY_H_
7 
8 #include "hal_types.h"
9 #include "stm32.h"
10 
11 #ifdef __cplusplus
12  extern "C" {
13 #endif
14 
15 #if 0
16 
22 static inline void delay_us(uint32_t us) {
23  us *= STM32_DELAY_US_MULT;
24 
25  /* fudge for function call overhead */
26  //us--;
27  asm volatile(" mov r0, %[us] \n\t"
28  "1: subs r0, #1 \n\t"
29  " bhi 1b \n\t"
30  :
31  : [us] "r" (us)
32  : "r0");
33 }
34 #endif
35 
36 static inline void delay_ns100(uint32_t us) {
37  us *= STM32_DELAY_US_MULT;
38  us /= 10;
39 
40  /* fudge for function call overhead */
41  //us--;
42  asm volatile(" mov r0, %[us] \n\t"
43  "1: subs r0, #1 \n\t"
44  " bhi 1b \n\t"
45  :
46  : [us] "r" (us)
47  : "r0");
48 }
49 
50 #ifdef __cplusplus
51  }
52 #endif
53 
54 
55 #endif
56 
STM32 chip-specific definitions.
static void delay_ns100(uint32_t us)
Definition: delay.h:36
static void delay_us(uint16_t t)