Уф! А SysTick разве не использует прерываний? Или постоянная "собака за хвостом"?Леонид Иванович писал(а):возьму системный тик 1 мс, по нему буду через SPI загружать регистры. Никаких прерываний
Кто сам изучил програмирование мк?
Re: Кто сам изучил програмирование мк?
- Реклама
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Кто сам изучил програмирование мк?
Я имею в виду, что динамическая индикация не по прерываниям. SysTick использует прерывания. Но там только инкремент счетчика - и всё. Чтобы программные таймеры организовывать.
-
Alexeyslav
- Друг Кота
- Сообщения: 4550
- Зарегистрирован: Чт май 05, 2011 21:26:34
- Откуда: Украина, Славутич
- Контактная информация:
Re: Кто сам изучил програмирование мк?
Ей-богу, вас очень увлекательно читать. Но вы несколько забываете для чего нужна ардуина как таковая. Нужна она в первую очередь для сборки ПРОТОТИПОВ, когда просто некогда и нет смысла разрабатывать уникальную плату, когда может в процессе творчества сменится набор датчиков и их разводка. Неужели здорово для каждого изменения переделывать плату?
Оттуда и идут всякие простейшие платы с двумя резисторами - не надо ничего паять подключил к разъему и делов, нужен другой коэффициент - берешь другую плату, нужно подстроить делитель на точный коэффициент - берешь третью. При этом не надо ничего пилить и паять.
А то что некоторые начинают использовать платы в своих проектах - это исключительно их дело, более того если стоимость их устраивает, то какое наше дело?
Оттуда и идут всякие простейшие платы с двумя резисторами - не надо ничего паять подключил к разъему и делов, нужен другой коэффициент - берешь другую плату, нужно подстроить делитель на точный коэффициент - берешь третью. При этом не надо ничего пилить и паять.
А то что некоторые начинают использовать платы в своих проектах - это исключительно их дело, более того если стоимость их устраивает, то какое наше дело?
Re: Кто сам изучил програмирование мк?
Конечно можно! При инициализации дисплея HD44780 понадобится один таймер и два канала DMA, при работе - два таймера и один канал DMA.Леонид Иванович писал(а):"Пнул, а дальше оно само" - так тоже можно, но зачем? Разгрузим процессор, а что ему останется делать?
Что делать? Да что угодно - обрабатывать прерывания, мониторить что-нибудь, заниматься вычислениями и расчётами... да раскрашивать биты регистров цветными фломастерами, в конце концов!
Последний раз редактировалось nahimovv Сб фев 01, 2014 23:30:12, всего редактировалось 1 раз.
Re: Кто сам изучил програмирование мк?
Прикалываетесь? Зачем "программные таймеры", если есть хардварные! А их куда, солить?Леонид Иванович писал(а):Я имею в виду, что динамическая индикация не по прерываниям. SysTick использует прерывания. Но там только инкремент счетчика - и всё. Чтобы программные таймеры организовывать.
- Реклама
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Кто сам изучил програмирование мк?
Не так много таймеров и каналов DMA в младших моделях STM32, чтобы ими так разбрасываться. Да и зачем такая сложность, если можно реализовать софтовый обмен, процессору реально нечего делать.
А программных таймеров в проекте используется куча, десятки, где столько хардварных взять? И главное, зачем? реализация софтового таймера на основе счетчика в прерывании SysTick проста и красива. А эту тучу хардварных таймеров нужно инициализировать. Да и точности там обычно не нужны, это обычно какие-то задержки в интерфейсе пользователя. Хардварные таймеры там не к месту.
А программных таймеров в проекте используется куча, десятки, где столько хардварных взять? И главное, зачем? реализация софтового таймера на основе счетчика в прерывании SysTick проста и красива. А эту тучу хардварных таймеров нужно инициализировать. Да и точности там обычно не нужны, это обычно какие-то задержки в интерфейсе пользователя. Хардварные таймеры там не к месту.
Re: Кто сам изучил програмирование мк?
Реально сложно это выглядит только на SPL , а так - десяток, полтора строк ...Леонид Иванович писал(а): Да и зачем такая сложность
Re: Кто сам изучил програмирование мк?
А она кому-то ещё нужна, зачем? Не верю!Alexeyslav писал(а):Ей-богу, вас очень увлекательно читать. Но вы несколько забываете для чего нужна ардуина как таковая.
Никакого! Был тут один ардунист-задрот, бредил тут потихоньку, два слова связать не мог, пускал пузыри, так с газами весь и вышел.А то что некоторые начинают использовать платы в своих проектах - это исключительно их дело, более того если стоимость их устраивает, то какое наше дело?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Кто сам изучил програмирование мк?
Конструкции вида TIM3->CCMR1 |= (TIM_CCMR1_CC1S_0 | TIM_CCMR1_IC1F_0 | TIM_CCMR1_IC1F_1); тоже выглядят не лучшим образом.dosikus писал(а):Реально сложно это выглядит только на SPL , а так - десяток, полтора строк ...
Re: Кто сам изучил програмирование мк?
Это с непривычки , после пары месяцев все нормализуется... 
Re: Кто сам изучил програмирование мк?
Тогда я соглашусь с dosikus, что "Атмэл - это диагноз!"!Леонид Иванович писал(а): Хардварные таймеры там не к месту.
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Кто сам изучил програмирование мк?
Интересно, а почему нельзя использовать софтовые таймеры там, где они подходят? Может наоборот, попытка задействовать всю периферию, которая даже не нужна (повысив при этом до максимума потребление) - это диагноз STM32?
Re: Кто сам изучил програмирование мк?
Кто сказал что нельзя? Только зачем впрягать сюда те же индикаторы вашего БП... не пойму! Зачем засирать безбожно SysTick?Леонид Иванович писал(а):Интересно, а почему нельзя использовать софтовые таймеры там, где они подходят?
"Что, опять?"(С)Может наоборот, попытка задействовать всю периферию, которая даже не нужна (повысив при этом до максимума потребление) - это диагноз STM32?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Кто сам изучил програмирование мк?
Не понял, как это? В прерывании SysTick инкрементируется один счетчик. И всё. Что опять не так?nahimovv писал(а):Зачем засирать безбожно SysTick?
Re: Кто сам изучил програмирование мк?
Не надо закрывать люк и заводить двигатель танка! Вы говорили, что у вас десятки софттаймеров! Где они у вас обрабатываются/мониторятся?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Кто сам изучил програмирование мк?
При старте программного таймера захватывается значение SysTick-овского счетчика. Затем внутри задачи, где используется этот таймер, вызывается функция, которая сравнивает разницу между текущим и захваченным значением с установленным интервалом. Если разница больше интервала, производится действие, для которого этот таймер был предназначен.
Re: Кто сам изучил програмирование мк?
Это тяжелое наследие голодного детства. У него 48 мегагерц под капотом, а он хлебные корки по углам ныкает.Леонид Иванович писал(а):Может наоборот, попытка задействовать всю периферию, которая даже не нужна (повысив при этом до максимума потребление) - это диагноз STM32?
Re: Кто сам изучил програмирование мк?
Понятно. Если у вас автомат состояний, то тем более динамическую индикацию лучше делать хардварной. А если у вас вызов функций последовательный, то это по сути тривиальный delay. Если МК имеет DWT, то лучше микросекундные задержки делать на нём (на электрониксе обсуждалось), если нет... кто во что гаразд. Кучу 1WIRE можно по таймеру/таймер+DMA с порта обрабатывать (до 16).
Последний раз редактировалось nahimovv Вс фев 02, 2014 00:56:59, всего редактировалось 1 раз.
Re: Кто сам изучил програмирование мк?
Что-то мне подсказывает, что вы и с 480-ю мегагерцами не будете знать что делать.a5021 писал(а):Это тяжелое наследие голодного детства. У него 48 мегагерц под капотом, а он хлебные корки по углам ныкает.
Есть уже 8-ядерный пропеллер с 80MHz на ядро. Только проектов на нем едва ли с полдесятка.
Неучи, помигав светиком и подрыгав лапками, ждут еще большую крутотень. Чтоб, вдоволь натрахавшись с писанными наспех кривыми либами, снова светиком помигать. В 10 раз быстрее ))))
Последний раз редактировалось abc Вс фев 02, 2014 00:57:21, всего редактировалось 1 раз.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Re: Кто сам изучил програмирование мк?
100% ! Деревянные машинки размером с табурет, а теперь деревянные ардуины для злобных дубовых буратин!a5021 писал(а): Это тяжелое наследие голодного детства.
Гавкнул? Под лавку! И не забывай вылазить периодически, а то ещё задохнёшься ненароком!


