delay: call yield()
This commit is contained in:
parent
1611d28ecf
commit
79efdb1863
|
@ -35,7 +35,11 @@ extern "C"{
|
|||
#endif
|
||||
|
||||
inline void delay(unsigned long millis) {
|
||||
HAL_Delay(millis);
|
||||
uint32_t tickstart = 0;
|
||||
tickstart = HAL_GetTick();
|
||||
while((HAL_GetTick() - tickstart) < millis) {
|
||||
yield();
|
||||
}
|
||||
}
|
||||
|
||||
inline uint32_t millis() {
|
||||
|
@ -59,7 +63,9 @@ inline uint32_t micros() {
|
|||
inline void delayMicroseconds(uint32_t microseconds){
|
||||
uint32_t start = micros();
|
||||
|
||||
while(start + microseconds > micros());
|
||||
while(start + microseconds > micros()) {
|
||||
yield();
|
||||
}
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
Loading…
Reference in New Issue