Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


 
Опции темы

Изучаем STM32 Cortex M3

Непрочитано 03.01.2015, 14:09  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Патамушта нет возможности напрямую обратиться к регистрам таймеров STM8/32. Всё общение идёт через теневые регистры. Всё что пишется или читается в/из таймера - только через теневые регистры. Это даёт возможность изменять значения регистров тайиера "на лету", если таймер запущен. Если таймер остановлен, то нужно взвести бит UG, для того чтобы новые значения записались в регистры тайиера. Чтобы в этот момент не взвёлся флаг прерывания и существует флаг UDIS. Если же нужно чтобы новые значения приобрели актуальность только после обновления/переполнения, то для этого и служит ARPE, т.е режим предзагрузки, для CCR есть отдельный бит OCxPE.
В общем - всё красиво и мощно! Респект!
Реклама:

Последний раз редактировалось STM32F0; 03.01.2015 в 14:12.
STM32F0 вне форума  
Непрочитано 03.01.2015, 15:44  
jump
Почётный гражданин KAZUS.RUN
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 8,011
Сказал спасибо: 0
Сказали Спасибо 4,955 раз(а) в 2,379 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

"Которые тут временные? Слазь! Кончилось ваше время" (с)
с новым китайским гадом!
1
2
купить 1
купить 2
jump вне форума  
Непрочитано 03.01.2015, 16:11  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Гы! Эта новость уже мхом поросла!
STM32F0 вне форума  
Непрочитано 03.01.2015, 16:32  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от jump Посмотреть сообщение
"Которые тут временные? Слазь! Кончилось ваше время" (с)
с новым китайским гадом!
Документация, насколько понимаю, от STM32 ?
omercury вне форума  
Непрочитано 03.01.2015, 16:36  
FreshManGood
Временная регистрация
 
Регистрация: 24.11.2010
Сообщений: 82
Сказал спасибо: 20
Сказали Спасибо 7 раз(а) в 7 сообщении(ях)
FreshManGood на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

STM32F0, давайте по порядку
при попытке записать новое значение в ARR куда оно попадает ?
в preload register или shadow register ?
FreshManGood вне форума  
Непрочитано 03.01.2015, 16:47  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

preload register - это то, с чем работает программист, с shadow register работает сам таймер.

Сообщение от STM32F0 Посмотреть сообщение
Всё что пишется или читается в/из таймера - только через теневые регистры. Это даёт возможность изменять значения регистров тайиера "на лету", если таймер запущен.
А что, в ненавитстной АВРке иначе?
omercury вне форума  
Непрочитано 03.01.2015, 16:52  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Если бит ARPE выставлен то в прелоад, если не выставлен и таймер запущен, то сразу в теневой регистр и на следующем такте в ARR, если таймер не запущен, то в теневой регистр, а в регистр по переполнению,
что по сути - однократная загрузка в прелоад.
STM32F0 вне форума  
Непрочитано 03.01.2015, 16:55  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от omercury Посмотреть сообщение
А что, в ненавитстной АВРке иначе?
Да там всё иначе, даже само название не как у людей. ))
STM32F0 вне форума  
Непрочитано 03.01.2015, 17:04  
omercury
Почётный гражданин KAZUS.RUN
 
Аватар для omercury
 
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
omercury на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Всё, что имеет право быть измененным на лету, имеет свою теневую копию, перезапись в которую осуществляется либо при запуске, либо по событию внутри таймера. STM-овские просто понавороченней, что и не удивительно, учитывая возраст и назначение авээрок.
omercury вне форума  
Непрочитано 03.01.2015, 17:04  
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Изучаем STM32 Cortex M3

Сообщение от omercury Посмотреть сообщение
preload register - это то, с чем работает программист, с shadow register работает сам таймер.
Не чуди! )))
Цитата:
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.
STM32F0 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Школа АRMрестлинга Uragan90 Микроконтроллеры, АЦП, память и т.д 54 22.08.2011 16:13
ARM Cortex M3 + Linux SiMiLya Микроконтроллеры, АЦП, память и т.д 10 17.06.2011 17:20
Помогите с STM32 - очень нужно... yakuzaa Микроконтроллеры, АЦП, память и т.д 60 04.08.2010 11:04
Как добавить поддержку для STM32 SFHK Микроконтроллеры, АЦП, память и т.д 11 18.12.2009 18:09


Часовой пояс GMT +4, время: 19:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.