ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
22 декабря
427314 Топик полностью
Д.ARMоед (25.07.2013 01:31, просмотров: 516) ответил Ксения на Можно ли жить на Main Loop, если какая-то периферия требует долгих таймаутов при обмене? Например:
при нличии свободного счётчика - запросто.   SysTick_Init(); //запускаем RTC или free-running counter //цикл Дейкстры :) while (1) { if (DISPLAY_UPDATE_BIT || DISPLAY_LAZY_TIME) Display_Step(); else if (COMMAND_BIT) Cmd_Step(); else if (MSD_BIT) Msd_Step(); else Log_Step(); } В Display_Step() на входе : если DISPLAY_LAZY_TIME > RTC_TIME, то просто выходим. на выходе: не забываем установить DISPLAY_LAZY_TIME для тупого выдерживания паузы, иначе DISPLAY_LAZY_TIME=0