|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
|
вопрос по Di Halt Rtos.17.03.2016, 23:15. Показов 6235. Ответов 9
Метки нет (Все метки)
проц.: atmega8a
os: DiHalt Rtos проблема: незапускается. инициализация проходит и начинается тупить в while(1) не доходя до TaskManager; проект прикладываю. [39.27 Кб]
0
|
|
| 17.03.2016, 23:15 | |
|
Ответы с готовыми решениями:
9
Творческий вопрос! Прерывания в RTOS DI HALT rtos Вопрос по RTOS |
|
0 / 0 / 0
Регистрация: 30.12.2011
Сообщений: 24
|
|
| 17.03.2016, 23:22 | |
|
может таймер не работает?
я у себя использовал http://we.iosyitistromyss.ru/Soft/dyspe ... tcher.html
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
|||
| 18.03.2016, 00:08 | |||
на атмеге8 только первый раз запустил.
0
|
|||
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
||||||
| 18.03.2016, 00:16 | ||||||
0
|
||||||
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
|
| 18.03.2016, 00:17 | |
|
ларчик просто открывался.
функции надо вызывать со скобками InitRTOS(); InitOtt(); RunRTOS(); InitLeds(); а не без. InitRTOS; InitOtt; RunRTOS; InitLeds; где угодно. особенно в прерываниях.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
||
| 18.03.2016, 00:18 | ||
InitRTOS; // в файле <EERTOS.c> // Инициализируем внутреннюю периферию контроллера InitOtt; // в файле <HAL.c> // Старт ядра. RunRTOS; При вызове функций после имени функции нужно обязательно скобки (), иначе это просто указатель. на полминуты опередили) спасибо!) +1 к экспе
0
|
||
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
||||||
| 23.03.2016, 12:14 | ||||||
|
есть шаговый двигатель. управляется через L293 напрямую с контроллера. то есть каждый вывод контроллера подключён к базе транзистора.
в Di Halt Rtos написал четыре вот таких процедуры:
сейчас у меня эти процедуры вызываются несколько другими процедурами. нужно сделать так чтобы в конце QuoterStep_4 в строке SetTask(MechSet1200); на месте MechSet1200 была та самая процедура что вызвала начальную процедуру QuoterStep_1 этой цепочки. через переменную и затем switch-case в конце считаю неспортивным. я попытался разобраться в механизме SetTask и TaskManager. первая функция сохраняет в массиве указатель (как значение пееменой) на пользовательскую функцию, а вторая уже достаёт из массива сей указатель и выполняет кусок кода. typedef void (*TPTR)(void); // я так думаю что это та самая переменная объявлена. точно также надо объявить свою(?) а как вызывать такую весчь? у Ди токль (GoToTask)(); // Переходим к задаче и всё. то есть для того чтобы реализовать задуманное мне надо объявить некую переменную(?какой тип?) затем до вызова QuoterStep_1 присвоить ей значение указателя процедуры/функции. а затем в QuoterStep_4 на месте строки SetTask(MechSet1200) сделать SetTask(nasha_perennaya) кто может подсказать как это сделать? или какие разделы по Си и Си++ читать?
0
|
||||||
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
|
| 24.03.2016, 11:47 | |
|
разобрался.
в хидере объявил typedef void (*DPDR)(void); в коде сделал глобальную переменную с пустышкой по умолчанию DPDR GoToTaskAfter = Idle; и вызываем цепочку процедур (1->2, 2->3,3->4) через диспетчер задач с присвоением переменной GoToTaskAfter = OurProcedure ; получется (OurProcedure->1, 1->2, 2->3, 3->4 ,4->GoToTaskAfter )
0
|
|
|
1 / 1 / 0
Регистрация: 18.01.2012
Сообщений: 1,418
|
|
| 24.03.2016, 12:22 | |
|
2Orsomum. Мне кажется, у вас изначально путь решения задачи не верный. Отсюда выходит эта акробатика с указателями. Но чтоб сказать как это сделать лучше, нужно знать всю задачу.
0
|
|
|
0 / 0 / 0
Регистрация: 01.05.2010
Сообщений: 619
|
||
| 25.03.2016, 22:35 | ||
ВНИМАНИЕ! Возможны рвотные позывы при просмотре этого кода. суть - двигателем могут щёлкать разные задачи. чтобы не плодить строк кода и стали нужни все эти прыжки и ужимки. [69.39 Кб]
0
|
||
| 25.03.2016, 22:35 | |
|
Помогаю со студенческими работами здесь
10
Вопрос по RTOS atmega8535, RTOS, interrupts, вопрос Вопрос к DI HALT. Использование PB II для отладки STM32F429! Halt (n), ФУНКЦИЯ HALT Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|