Кто сам изучил програмирование мк?

Флейм в чистом виде - все что угодно...
Но - в рамках закона :)
Ответить
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Леонид Иванович писал(а):возьму системный тик 1 мс, по нему буду через SPI загружать регистры. Никаких прерываний
Уф! А SysTick разве не использует прерываний? Или постоянная "собака за хвостом"? :)))
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Я имею в виду, что динамическая индикация не по прерываниям. SysTick использует прерывания. Но там только инкремент счетчика - и всё. Чтобы программные таймеры организовывать.
Контактная информация:
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

Ей-богу, вас очень увлекательно читать. Но вы несколько забываете для чего нужна ардуина как таковая. Нужна она в первую очередь для сборки ПРОТОТИПОВ, когда просто некогда и нет смысла разрабатывать уникальную плату, когда может в процессе творчества сменится набор датчиков и их разводка. Неужели здорово для каждого изменения переделывать плату?
Оттуда и идут всякие простейшие платы с двумя резисторами - не надо ничего паять подключил к разъему и делов, нужен другой коэффициент - берешь другую плату, нужно подстроить делитель на точный коэффициент - берешь третью. При этом не надо ничего пилить и паять.

А то что некоторые начинают использовать платы в своих проектах - это исключительно их дело, более того если стоимость их устраивает, то какое наше дело?
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Леонид Иванович писал(а):"Пнул, а дальше оно само" - так тоже можно, но зачем? Разгрузим процессор, а что ему останется делать?
Конечно можно! При инициализации дисплея HD44780 понадобится один таймер и два канала DMA, при работе - два таймера и один канал DMA.
Что делать? Да что угодно - обрабатывать прерывания, мониторить что-нибудь, заниматься вычислениями и расчётами... да раскрашивать биты регистров цветными фломастерами, в конце концов! :)))
Последний раз редактировалось nahimovv Сб фев 01, 2014 23:30:12, всего редактировалось 1 раз.
Реклама
Эиком - электронные компоненты и радиодетали
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Леонид Иванович писал(а):Я имею в виду, что динамическая индикация не по прерываниям. SysTick использует прерывания. Но там только инкремент счетчика - и всё. Чтобы программные таймеры организовывать.
Прикалываетесь? Зачем "программные таймеры", если есть хардварные! А их куда, солить? :)))
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Не так много таймеров и каналов DMA в младших моделях STM32, чтобы ими так разбрасываться. Да и зачем такая сложность, если можно реализовать софтовый обмен, процессору реально нечего делать.

А программных таймеров в проекте используется куча, десятки, где столько хардварных взять? И главное, зачем? реализация софтового таймера на основе счетчика в прерывании SysTick проста и красива. А эту тучу хардварных таймеров нужно инициализировать. Да и точности там обычно не нужны, это обычно какие-то задержки в интерфейсе пользователя. Хардварные таймеры там не к месту.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Леонид Иванович писал(а): Да и зачем такая сложность
Реально сложно это выглядит только на SPL , а так - десяток, полтора строк ...
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Alexeyslav писал(а):Ей-богу, вас очень увлекательно читать. Но вы несколько забываете для чего нужна ардуина как таковая.
А она кому-то ещё нужна, зачем? Не верю! :)))
А то что некоторые начинают использовать платы в своих проектах - это исключительно их дело, более того если стоимость их устраивает, то какое наше дело?
Никакого! Был тут один ардунист-задрот, бредил тут потихоньку, два слова связать не мог, пускал пузыри, так с газами весь и вышел. :))) :)))
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

dosikus писал(а):Реально сложно это выглядит только на SPL , а так - десяток, полтора строк ...
Конструкции вида TIM3->CCMR1 |= (TIM_CCMR1_CC1S_0 | TIM_CCMR1_IC1F_0 | TIM_CCMR1_IC1F_1); тоже выглядят не лучшим образом.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Сообщение dosikus »

Это с непривычки , после пары месяцев все нормализуется... :)))
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Леонид Иванович писал(а): Хардварные таймеры там не к месту.
Тогда я соглашусь с dosikus, что "Атмэл - это диагноз!"! :)))
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

Интересно, а почему нельзя использовать софтовые таймеры там, где они подходят? Может наоборот, попытка задействовать всю периферию, которая даже не нужна (повысив при этом до максимума потребление) - это диагноз STM32?
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Леонид Иванович писал(а):Интересно, а почему нельзя использовать софтовые таймеры там, где они подходят?
Кто сказал что нельзя? Только зачем впрягать сюда те же индикаторы вашего БП... не пойму! Зачем засирать безбожно SysTick?
Может наоборот, попытка задействовать всю периферию, которая даже не нужна (повысив при этом до максимума потребление) - это диагноз STM32?
"Что, опять?"(С) :)))
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

nahimovv писал(а):Зачем засирать безбожно SysTick?
Не понял, как это? В прерывании SysTick инкрементируется один счетчик. И всё. Что опять не так?
Контактная информация:
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Не надо закрывать люк и заводить двигатель танка! Вы говорили, что у вас десятки софттаймеров! Где они у вас обрабатываются/мониторятся?
Друг Кота
Аватара пользователя
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск

Сообщение Леонид Иванович »

При старте программного таймера захватывается значение SysTick-овского счетчика. Затем внутри задачи, где используется этот таймер, вызывается функция, которая сравнивает разницу между текущим и захваченным значением с установленным интервалом. Если разница больше интервала, производится действие, для которого этот таймер был предназначен.
Контактная информация:
Друг Кота
Сообщения: 6452
Зарегистрирован: Пт сен 13, 2013 13:11:31

Сообщение a5021 »

Леонид Иванович писал(а):Может наоборот, попытка задействовать всю периферию, которая даже не нужна (повысив при этом до максимума потребление) - это диагноз STM32?
Это тяжелое наследие голодного детства. У него 48 мегагерц под капотом, а он хлебные корки по углам ныкает.
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

Понятно. Если у вас автомат состояний, то тем более динамическую индикацию лучше делать хардварной. А если у вас вызов функций последовательный, то это по сути тривиальный delay. Если МК имеет DWT, то лучше микросекундные задержки делать на нём (на электрониксе обсуждалось), если нет... кто во что гаразд. Кучу 1WIRE можно по таймеру/таймер+DMA с порта обрабатывать (до 16).
Последний раз редактировалось nahimovv Вс фев 02, 2014 00:56:59, всего редактировалось 1 раз.
abc
Друг Кота
Аватара пользователя
Сообщения: 3687
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Сообщение abc »

a5021 писал(а):Это тяжелое наследие голодного детства. У него 48 мегагерц под капотом, а он хлебные корки по углам ныкает.
Что-то мне подсказывает, что вы и с 480-ю мегагерцами не будете знать что делать.
Есть уже 8-ядерный пропеллер с 80MHz на ядро. Только проектов на нем едва ли с полдесятка.
Неучи, помигав светиком и подрыгав лапками, ждут еще большую крутотень. Чтоб, вдоволь натрахавшись с писанными наспех кривыми либами, снова светиком помигать. В 10 раз быстрее ))))
Последний раз редактировалось abc Вс фев 02, 2014 00:57:21, всего редактировалось 1 раз.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Нашел транзистор. Понюхал.
Сообщения: 180
Зарегистрирован: Чт янв 23, 2014 01:51:35

Сообщение nahimovv »

a5021 писал(а): Это тяжелое наследие голодного детства.
100% ! Деревянные машинки размером с табурет, а теперь деревянные ардуины для злобных дубовых буратин!
Гавкнул? Под лавку! И не забывай вылазить периодически, а то ещё задохнёшься ненароком! :))) :)))
Ответить

Вернуться в «МЯЯЯУ!»