delay.h 1.24 KB
Newer Older
时昊's avatar
时昊 committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
#ifndef _DELAY_H__
#define _DELAY_H__

#include <stdint.h> 
#include "common.h"
//#include "compiler_abstraction.h"
/**
 * @brief Function for delaying execution for number of microseconds.
 *
 * @note SystemCoreClock = 48MHz
 *
 * @param number_of_ms
 */
/*lint --e{438, 522} "Variable not used" "Function lacks side-effects" */
#if defined ( __CC_ARM   )

//static __ASM void __INLINE 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
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP
//        NOP


//        BNE    loop
//        BX     LR
//}
#endif

void m0_delay_ms(uint32_t volatile number_of_ms);
void m0_delay_us(uint32_t volatile number_of_us);
void delay_init(uint32_t sysclk);

#endif