You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
586 B
44 lines
586 B
// check it out on Compiler Explorer : https://godbolt.org/
|
|
struct Delay
|
|
{
|
|
virtual void wait() = 0;
|
|
};
|
|
|
|
|
|
struct FreeRTOS_Delay : Delay
|
|
{
|
|
void wait() override
|
|
{
|
|
_wait();
|
|
}
|
|
private:
|
|
static void _wait()
|
|
{
|
|
for(volatile int i = 0; i < 10; i++);
|
|
}
|
|
};
|
|
|
|
struct STM_Hal_Delay : Delay
|
|
{
|
|
void wait() override
|
|
{
|
|
_wait();
|
|
}
|
|
private:
|
|
static void _wait()
|
|
{
|
|
// systick stuff here
|
|
for(volatile int i = 0; i < 1000; i++);
|
|
}
|
|
};
|
|
|
|
|
|
int main()
|
|
{
|
|
FreeRTOS_Delay dly;
|
|
|
|
dly.wait();
|
|
return 0;
|
|
}
|
|
|