Изучаем STM32 Cortex M3
03.01.2015, 17:15
|
|
|
Временная регистрация
Регистрация: 24.11.2010
Сообщений: 82
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
у AVR есть двойная буферизация в режиме Fast PWM
тоесть, при попытке записать новое значение в OCR(регистр сравнения) оно сначала запишется в буфер, только при обнулении таймера, при следующем обнулении значение запишется непосредственно в сам OCR
я же думал что и у стм32 есть нечто подобное
а у них оказывается есть два регистра: предзагружаемый и теневой
|
|
|
|
03.01.2015, 17:20
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от STM32F0
|
|
Не чуди! )))
|
И в чём именно я начудил?
Мгновенная перезапись из preload в теневой не отменяет записи в preload.
Или нет? (с)
|
|
|
|
03.01.2015, 17:21
|
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
2FreshManGood
Вы читаете или только пишете? Есть бит OCxPE. Можете сразу занести значение в CCR, а можете занести в буфер (прелоад), если OCxPE выставлен, тогда обновится по переполнению.
|
|
|
|
03.01.2015, 17:26
|
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от omercury
|
И в чём именно я начудил?
Мгновенная перезапись из preload в теневой не отменяет записи в preload.
Или нет? (с)
|
Одновременная запись в прелоад и теневой по сути является записью в теневой, т.к. прелоад не используется, если ARPE не выставлен.
|
|
|
|
03.01.2015, 17:45
|
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от FreshManGood
|
у AVR есть двойная буферизация в режиме Fast PWM
тоесть, при попытке записать новое значение в OCR(регистр сравнения) оно сначала запишется в буфер, только при обнулении таймера, при следующем обнулении значение запишется непосредственно в сам OCR
я же думал что и у стм32 есть нечто подобное
а у них оказывается есть два регистра: предзагружаемый и теневой
|
Так TIMx-›ARR по сути и есть тот самый OCR в Fast PWM mode.
Сообщение от STM32F0
|
|
Одновременная запись в прелоад и теневой по сути является записью в теневой, т.к. прелоад не используется, если ARPE не выставлен.
|
То же самое реализуется записью либо в OCRx (прелоад) либо непосредственно в TCNTx, просто без использования дополнительных переключателей управления.
|
|
|
|
03.01.2015, 18:03
|
|
|
Временная регистрация
Регистрация: 24.11.2010
Сообщений: 82
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от STM32F0
|
Не чуди! )))
Цитата:
The 16-bit counter, the prescaler, the auto-reload register and the repetition counter register
can be written or read by software.
The auto-reload register is composed of a preload register plus a shadow register.
Writing to the auto-reload register can be done in two modes:
Auto-reload preload enabled (ARPE bit set in the TIM1_CR1 register). In this mode,
when data is written to the auto-reload register, it is kept in the preload register and
transferred into the shadow register at the next update event (UEV).
Auto-reload preload disabled (ARPE bit cleared in the TIM1_CR1 register). In this
mode, when data is written to the auto-reload register it is transferred into the shadow
register immediately.
An update event is generated:
On a counter overflow or underflow
By software, setting the UG bit in the TIM1_EGR register
By a trigger event from the clock/trigger controller
With preload enabled (ARPE = 1), when an update event occurs: The auto-reload shadow
register is updated with the preload value (TIM1_ARR) and the buffer of the prescaler is
reloaded with the preload value (content of the TIM1_PSCR register).
The UEV can be disabled by setting the UDIS bit in the TIM1_CR1
The counter is clocked by the prescaler output CK_CNT, which is enabled only when the
counter enable bit (CEN) in TIM1_CR1 register is set.
|
откуда эти строки ?
дайте ссылку на книгу пожалуйста
|
|
|
|
03.01.2015, 18:14
|
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Это не книга, это референс на STM8Sххх. Ведь без разницы, что в STM8, что в STM32 периферия одна и таже, от STM, только ядра разные.
|
|
|
|
03.01.2015, 18:17
|
|
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от omercury
|
|
То же самое реализуется записью либо в OCRx (прелоад) либо непосредственно в TCNTx, просто без использования дополнительных переключателей управления.
|
То же да не то же! После периферии STM периферия Меги просто "Судный день"!
Слава богу что Мега умерла, туда ей и дорога.
|
|
|
|
03.01.2015, 18:55
|
|
|
Временная регистрация
Регистрация: 24.11.2010
Сообщений: 82
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от STM32F0
|
|
Это не книга, это референс на STM8Sххх. Ведь без разницы, что в STM8, что в STM32 периферия одна и таже, от STM, только ядра разные.
|
а я вот штудирую референс мануал на STM32F100
но там так понятно не описано !!!!
это ....дец !
|
|
|
|
03.01.2015, 19:18
|
|
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Референц мануал на семейство и мануал на конкретный камень - разные документы.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:59.
|
|