ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Пятница
29 марта
150099 Топик полностью
Alex B. (05.03.2009 13:42, просмотров: 632) ответил Сергей Борщ на Это не претензии. Вы просили "зацените"? Зацениваем.
теперь более-менее понятно 
Я прошу вас ответить: Почему в системах с RTOS _нельзя_ организовывать атомарный доступ запрещением прерываний?
Потому что нельзя и все. Планировщик сам знает, когда ему запрещать прерывания, а когда разрешать. Запрещая прерывания вы тупо вторгаетесь в сферу влияния планировщика, мешаете ему работать. Для доступа к разделяемым ресурсам в RTOS придуманы специальные сервисы для организации критических секций и специальные объекты - мютексы (или в простом случае двоичные семафоры). Да, конечно, часто вход в критическую секцию это простое запрещение прерывания. НО! Говорить о том что так можно делать всегда и везде - аюсолютно неправильно. Если вы знаете тонкости реализации, можете и просто прерывания запрещать и вообще во внутренние переменные планировщика лазить. Но речь не о том.
Вы не забыли, что речь все еще идет о борьбе с прерыванием?
Да нет же! речь идет о борьбе с нежелательным эффектами неатомарного доступа к разделяемым ресурсам. Эту борьбу можно вести несколькими способами в зависимости от контекста. Все способы, которые я знаю, я перечислил
В разделе, озаглавленном "Условный оператор ?:" вы также приводите отрывки кода, в которых этот самый условный оператор, именем которого озаглавлен раздел, и не встречается
С этим согласен, напишу подробнее
Сейчас внимательно посмотрев код я вижу, что на самом деле модифицируется оно один раз
Комментарий про TRISB = 0xFFF5 там совершенно лишний, спасибо.
Согласуйте импеданс!