f5b342abbe
* initial gpio layer * move temlplate.c to template.c.example in preparing to applications.mk rework * separate arduino layer * separate flipper_hal.x * prepare to switch applications on v2 core gpio api * swithch applications to v2 gpio api * gpio api for local target * better gpio_disable handling * remove pwm functions from local target * inline gpio funcs * common function to init all api's * fix local example blink * move delay us to hal api folder * move pwm_set/pwm_stop to hal api folder * update applications to use hal pwm api * remove gpio mode case warning * add speaker demo to build Co-authored-by: DrZlo13 <who.just.the.doctor@gmail.com>
14 lines
357 B
C
14 lines
357 B
C
#include "api-hal-delay.h"
|
|
|
|
void delay_us_init_DWT(void) {
|
|
CoreDebug->DEMCR |= CoreDebug_DEMCR_TRCENA_Msk;
|
|
DWT->CTRL |= DWT_CTRL_CYCCNTENA_Msk;
|
|
DWT->CYCCNT = 0U;
|
|
}
|
|
|
|
void delay_us(float time) {
|
|
uint32_t start = DWT->CYCCNT;
|
|
uint32_t time_ticks = time * (SystemCoreClock / 1000000);
|
|
while((DWT->CYCCNT - start) < time_ticks) {
|
|
};
|
|
} |