nanorobot 6 31 мая, 2017 Опубликовано 31 мая, 2017 (изменено) · Жалоба typedef OS::process<OS::pr0, 160> TProc1; OS::TBaseProcess * pproc = &Proc1; . . . . . . pproc->sleep(); pproc->wake_up(); Изменено 31 мая, 2017 пользователем nanorobot Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AHTOXA 18 31 мая, 2017 Опубликовано 31 мая, 2017 · Жалоба Не вижу препятствий :) Вот, например, код, который проходится по всем процессам и выдаёт по ним статистику (OS::get_proc() как раз возвращает указатель на TBaseProcess) : for(uint_fast8_t i = 0; i < OS::PROCESS_COUNT; ++i) { uint32_t cpu = profiler.get_result(i)/10; stream << priorities[i] << '\t' << OS::get_proc(i)->name() << '\t' << OS::get_proc(i)->stack_slack() * sizeof(stack_item_t) << '\t' << cpu / 10 << '.'<< cpu % 10 <<"\r\n"; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться