реклама на сайте
подробности

 
 
> ARM Cortex M4 таймеры, Помогите советом
CBo6ogHbIu
сообщение Mar 28 2014, 03:46
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 28-03-14
Пользователь №: 81 124



Всем доброго времени суток.
Осваиваю связку Cortex M4 150 Мгц + Keil 5.*
Стоит задача чтения АЦП раз, скажем, в 100мкс + последующая матобработка. Для "упрощения" решил использовать RTX Keil.

1. Подключил cmsis_os.h
2. Инициализировал процессор на 150МГц, в прерываниях от одного из портов читаю ацп. Для начала и удобства отладки сделал это по таймеру раз в секунду.
3. Отладился, на осциллографе нужные картинки получил, данные проверил - все ок.
4. Дело дошло до переноса на таймер с нужной частотой(десятки мкс). И тут обнаружил, что keil предоставляет вроде как только таймеры от 1мс.
Попытался переопределить SysTick_Handler - он уже определен в hal_cm3. Попытался отказать от использования таймера в RTX_Conf_CM.c, чтобы убрать конфликт - SysTick_Handler по прежнему использовать не получается, плюс отваливаются вся обвязка в виде визуальной диагностики на LED и т.п.

У меня такое чувство, что я пропустил какую-то очень важную доку, но все поиски ни к чему не приводят. Такое впечатление, что выполнять действия чаще чем раз в 1мс в тырнетах вообще никому не нужно...
Кто пользовался ВЧ таймерами под Keil 5.*, помогите советом плз.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Herz
сообщение Mar 28 2014, 05:37
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Тему переименовал. Автору замечание за нарушение п.2.1.в Правил. Название "Помогите советом" не является осмысленным.
Go to the top of the page
 
+Quote Post
CBo6ogHbIu
сообщение Mar 28 2014, 06:40
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 28-03-14
Пользователь №: 81 124



Цитата(skripach @ Mar 28 2014, 08:39) *
Чтобы опросить АЦП с периодом 100мкс написать свой планировцик? гениально... sad.gif

Спасибо за лестную оценку.
Не менее гениально считать, что топик - это ТЗ проекта. Описана лишь та часть, которая имеет непосредственное отношение к вопросу.
Про планировщик - имелась в виду возможная(пока еще) нецелесообразность использования ОС только из-за ее планировщика, хотя бы из-за занимаемой памяти.

Вместо личных оценочных суждений приветствуется конструктив:
1. Использование прерываний от других внутренних таймеров - спасибо за совет, принято, работает => задача решена одним из возможных способов.

Тем не менее остается открытым вопрос: если ли возможность с помощью KEIL RTX получить временной интервал 10-100 мкс и можно ли(как) перехватить доступ к systick_handler()?
Go to the top of the page
 
+Quote Post
Corvus
сообщение Mar 28 2014, 06:48
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



Конструктив уже озвучен - используйте прерывания от другого аппаратного таймера. Это единственный правильный способ в данной ситуации.
Использовать ОС или нет, никто не подскажет, так проект неизвестен даже в общих чертах. Если будете использовать, то используйте правильно. Шаманства в стиле "перехватить доступ к systick_handler()" до добра не доведут.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:37
Рейтинг@Mail.ru


Страница сгенерированна за 0.01372 секунд с 7
ELECTRONIX ©2004-2016