30.12.2014, 22:45
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
всмысле период 0,5 сек создаётся с поощью RTC или таймерами общего назначения?чтобы зажигать точки часов, можно конечно в секундном прерывании сделать задержку на горение.
у RTC ведь
RTC_IT_OW: Overflow interrupt
RTC_IT_ALR: Alarm interrupt
RTC_IT_SEC: Second interrupt
и RTC_GetCounter считает секунды
Последний раз редактировалось С.М.С; 30.12.2014 в 22:47.
|
|
|
|
30.12.2014, 22:57
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Прочитал, что написал и сам не понял. Сейчас сделаю подробней.
|
|
|
|
30.12.2014, 23:01
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
А в чём проблема то? Как хотите, так и делайте - хоть по флагам, хоть по прерываниям. Если динамическая индикация, можно отслеживать изменение секунд с инвертированием точек.
|
|
|
|
30.12.2014, 23:04
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Для функции часов используется RTC отсчитывающий секунды и в каждом секундном прерывании в процедуре RTC_IRQHandler выполняется обновление значений текущего времени. С этим всё хорошо и понятно. Поскольку часы построены на 4, восьми сегментных индикаторах, то обозначение секундного интервала требуется производить морганием точек, с этим и вопрос. В идеале было бы в 0,5 секундном прерывании зажигаем точки, в следующем 0,5 секундном прерывании тушим и так по кругу. Но RTC_GetCounter считает секунды, как я понимаю. И поэтому вмешиваться в настройку предделителя не хотелось бы.
Код:
|
/* Set RTC prescaler: set RTC period to 1sec */
RTC_SetPrescaler(32767); /* RTC period = RTCCLK/RTC_PR = (32.768 KHz)/(32767+1) */ |
Сообщение от STM32F0
|
А в чём проблема то? Как хотите, так и делайте - хоть по флагам, хоть по прерываниям. Если динамическая индикация, можно отслеживать изменение секунд с инвертированием точек.
|
Мало ли ,может есть отработанный приём, чтобы не городить свой велосипед.
|
|
|
|
30.12.2014, 23:26
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
У каждого профи свой велосипед, так принято. Это только у Easyrider83 и selevo мопеды.
У вас же RTC без BCD. Где-то же значения вытаскиваете. Ну и ставьте флаг. Если нужно 0,5сек., в прерывании индикации организуйте счётчик и рулите флагом. А нет - инвертируйте точки после каждого изменения секунд.
|
|
|
Сказали "Спасибо" STM32F0
|
|
|
30.12.2014, 23:36
|
|
Гражданин KAZUS.RU
Регистрация: 03.07.2010
Сообщений: 843
Сказал спасибо: 156
Сказали Спасибо 378 раз(а) в 190 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Отталкиваюсь от стандартных библиотек STM и их примеров, допиливая под свои нужды, и там у RTC, только секундное прерывание, жаль, ну что-нибудь придумаем.
|
|
|
|
30.12.2014, 23:42
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Средствами RTC 0.5с получить можно, но это будет лишнее прерывание. Я же посоветовал использовать ШИМ т.к. в этом случае никаких программных ресурсов потрачено не будет.
|
|
|
Сказали "Спасибо" Easyrider83
|
|
|
30.12.2014, 23:55
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Угу, при динамической на семисегментниках? Ну, если только точки отдельными светодиодами лепить.
|
|
|
|
31.12.2014, 00:14
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну тогда уж и STM32 тут совершенно ни к чему.
|
|
|
|
31.12.2014, 00:27
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Мы ж не знаем, вдруг это дополнительная функция. Та даже если и просто часы, почему нет? У нас F0 сейчас дешевле STM8, не говоря о ПЫКах и АВР.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:03.
|
|