ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
10 июля
339531
Aлexин Aлeкcaндp (08.07.2012 12:07, просмотров: 7213)
Проблемка с потерей флагов событий.... Столкнулся с такой ситуацией. Все программы писались однотипно - суперцикл, в его начале (ну или конце, не важно) засыпание до прерываний. Внутри цикла различные автоматы, выполняющие собственно работу устройства. Автоматы используют флаги событий, которые устанавливаются в прерываниях. Так как один флаг может использоваться разными автоматами - в конце цикла (после выполнения всех автоматов) сброс флага и засыпание. иногда возникает ситуация, когда событие возникает вновь, еще до сброса флага, либо уже после сброса флага перед уходом в слип. И соответственно теряется, вернее даже не теряется, а о его возникновении программа узнает только по следующему выходу из слипа, которое может произойти очень не скоро, если за этим событием других событий нет. Никак не могу придумать, как обойти такую ситуацию. Понимаю, что не совсем верно, тело цикла ДОЛЖНО выполняться быстрее периода событий, но вот возникает такая ситуация. Хотелось бы не потерять ее.