Собственно захотелось поговорить об этом, обсудить и быть может почерпнуть для себя что-то полезное, ибо в программировании я пока ламер )
А вопрос вот в чем: к каких случаях стоит применять RTOS, а в каких нет, и во втором случае каким образом лучше выстроить программу... Какие нюансы бывают в тех, или иных ситуациях?..
Вот к примеру делал я таймер (ну скорее "будильник"), который имеет 16х2 ЖКИ, 4 кнопки, IIC RTC, и через UART должен рулить одной железкой. Мозг - STM8S105.
Тут, я думаю, RTOS применить было оправдано, но я решил написать программу с нуля по одной основной причине: лучше изучить язык, подучиться приемам программирования... В общем как основу выбрал систему конечных автоматов на switch-case. Ну с модулями работы с периферией я кое-как разобрался (не до конца еще, но всеже), но в кучу все это еще никак не связал...
На данный момент очевиден один нюанс: реализация обмена данными между частями программы. К примеру: нужно отправить данные по IIC. Обработчик принимает указатель на массив, запускает автомат, который будет обрабатывать процесс передачи, и завершается. Но нам то еще не мешало бы знать как прошла передача и когда она завершилась... Тут уже приходится вводить систему сообщений, которые сигнализируют об определенных событиях...
Собственно как это реализовано в RTOS? Непонятна сама суть, там насколько я понял есть диспетчер, который рулит всеми задачами, т.е. мы можем вызвать какую-то функцию, к примеру ту же отправку по IIC, а внутри, когда нужно ждать завершения работы передатчика она может отдать управление другим (точнее диспетчеру) на время ожидания, потом управление ей вернут и останется принять решение о том, как прошла передача и вернуть значение при завершении функции?
P.S. вопрос может и вообще тупой, я обычно предпочитаю сначала вникнуть, насколько возможно, потом уже спрашивать, но что-то на поговорить потянуло... И кстати если есть ссылки на материал, где основы RTOS хорошо расписаны - буду рад ознакомиться...
Организация программ
Вернуться в «Микроконтроллеры и ПЛИС»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 18 гостей