#include <cstdio> #include <cstdlib> #include "miosix.h" using namespace std; using namespace miosix; typedef Gpio<GPIOF_BASE,6> led1; typedef Gpio<GPIOF_BASE,9> led2; void blinkThread(void *argv) { const int period=static_cast<int>(TICK_FREQ*0.03); long long tick=getTick(); for(;;) { if(led2::value()) led2::low(); else led2::high(); tick+=period; Thread::setPriority(Priority(tick)); //Change deadline Thread::sleepUntil(tick); } } int main() { //iprintf("Hello world, write your application here\n"); led1::mode(Mode::OUTPUT); led2::mode(Mode::OUTPUT); Thread::create(blinkThread,STACK_MIN); const int period=static_cast<int>(TICK_FREQ*0.05); long long tick=getTick(); for(;;) { if(led1::value()) led1::low(); else led1::high(); tick+=period; Thread::setPriority(Priority(tick)); //Change deadline Thread::sleepUntil(tick); } }