DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота №2 з предмету «Програмне забезпечення систем реального часу»

Оригінальна назва роботи

Програмне забезпечення систем реального часу.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
Комп’ютерні науки
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Програмне забезпечення систем реального часу
Група:
КІ-4
Коротко про документ

Про що ця робота

У лабораторній роботі розроблено програму для створення трьох різних задач з використанням ідентичного коду процесу в середовищі uC/OS-II. Студент навчився передавати параметри за допомогою структур та керувати інкрементуванням лічильників.

У роботі розглядаються

  • Системи реального часу
  • Операційна система uC/OS-II
  • Багатозадачність
  • Створення задач
  • Передача параметрів задачам
  • Програмування на C

Зміст і розділи

  1. Мета роботи
  2. Теоретична частина
  3. Хід роботи
  4. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів
Викладачі:Не вказано

Ключові поняття

uC/OS-IIпроцесзадачаOSTaskCreateOSTimeDlyвказівникструктураінкрементфункція main

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №2 з предмету “ Програмне забезпечення систем реального часу ” Львів – 2005 Мета роботи: розробити програму в якій створюються 3 різних задачі, використовуючи ідентичний код самого процесу. Кожен із процесів повинен виводити лічильник, значення якого інкрементується через заданий інтервал часу. Задачі передаються 3 параметри: координати рядку, в якому виводиться лічильник, значення інкременту і період затримки в тіках системного таймеру, через які повинен лічильних інкрементуватися. Теоретична частина В системі UCOS-II функція процесу являє собою функцію, яка не повертає значення і в якості параметру отримує нетипізований вказівник: void Task (void *par); Саме вказівник par використовується для передачі задачі параметрів. Для передачі задачі параметрів необхідно створити структуру, полями якої будуть необхідні для задачі параметри і передати при створенні задачі вказівник на неї. Оскільки при створенні задачі за допомогою функції OSTaskCreate копіюється лише сам вказівник, а не структура із параметрами, то для кожної задачі доцільно мати окрему структуру, адреса якої передається при створенні процесу (задачі). Хід роботи Кількість завдань N_TASKS = 3; Потрібно модифікувати функцію main(): void main (void) { int i; clrscr(); for(i=0;i<N_TASKS;i++) { printf("\t process #%d:\t",i+1); printf("\nx:\t"); scanf("%d",&TaskData[i].x); printf("\ny:\t"); scanf("%d",&TaskData[i].y); printf("\nvalue:\t"); scanf("%d",&TaskData[i].increment); printf("\ndelay:\t",i+1); scanf("%d",&TaskData[i].delay); } clrscr(); PC_DispClrScr(DISP_FGND_WHITE + DISP_BGND_BLACK); OSInit(); PC_DOSSaveReturn(); PC_VectSet(uCOS, OSCtxSw); OSTaskCreate(TaskStart, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 0); OSStart(); } Наша функція Task(): void Task (void *parg) { INT8U x; INT8U y; INT8U err; static int myCounter=0; struct param *strP=(struct myStruct*)parg; while(1) { gotoxy(strP->x,str->y); printf("%d",counter+=strP->increment); OSTimeDly(strP->delay); } } Висновок: завдяки цій лабораторній роботі я навчився розробляти найпростіші програми в даній системі, розробляти декілька процесів з одного тіла функції, а також передавати параметри процесів при ініціалізації.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!