Пару вопросов по scmRTOS (да наверно в целом по РТОС).
1. Простой. Как в этой операционке получить индекс приоритета текущего процесса. Предположим есть функция и ее могут вызывать каждый из существующих процессов. Как узнать какой из них ее вызывает?
2. Предположим есть две функции, которые имеют дело с портом. Первая настраивает его скорость и прочее. Вторая... например просто делает enabled/disabled для порта, в принципе неважно. Функции могут вызываться каждым из процессов. По идее надо тело функции обрамлять mutex.Lock() mutex.Unlock(). Но ситуация такова, что например вторую функцию может вызывать не только любой из процессов непосредственно, но и первая функция (понятно, что в рамках какого то процесса). То есть при настройке порта я хочу еще сразу делать enable port. И при этом получается, что процесс в рамках вызова первой функции блокирует мютекс и вызывая вторую функцию, опять видит mutex.Lock и блокирует сам себя, навечно. Чую, тут самые такие азы всего этого дела, но не понимаю как поступают в таких случаях?
Спасибо