2016-12-27 23:03:08 +00:00
|
|
|
#include <stm32f10x.h>
|
2017-01-10 01:24:10 +00:00
|
|
|
#include <core_cm3.h>
|
|
|
|
#include <stm32f10x_rcc.h>
|
|
|
|
#include <misc.h>
|
2016-12-27 23:03:08 +00:00
|
|
|
#include "delay.h"
|
|
|
|
|
|
|
|
void delay_init() {
|
2017-01-10 01:24:10 +00:00
|
|
|
SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);
|
2016-12-27 23:03:08 +00:00
|
|
|
}
|
|
|
|
|
2017-01-10 01:24:10 +00:00
|
|
|
void _delay_us(uint32_t us, uint8_t precise) {
|
|
|
|
SysTick->CTRL &= ~(SysTick_CTRL_ENABLE_Msk);
|
|
|
|
SysTick->VAL = us * 6;
|
|
|
|
SysTick->LOAD = us * 6;
|
|
|
|
SysTick->CTRL |= (SysTick_CTRL_ENABLE_Msk);
|
|
|
|
while ((SysTick->CTRL & SysTick_CTRL_COUNTFLAG_Msk) == 0) {}
|
2016-12-27 23:03:08 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
inline void _delay_ms(uint32_t ms) {
|
2017-01-10 01:24:10 +00:00
|
|
|
while(ms-- > 0){
|
|
|
|
_delay_us(1000, 0);
|
|
|
|
}
|
2016-12-27 23:03:08 +00:00
|
|
|
}
|
2017-01-10 01:24:10 +00:00
|
|
|
|
|
|
|
|