Страница 2 из 2

Re: Генерация временных меток.

Добавлено: Вт апр 16, 2024 14:23:42
Юрий48
[uquote="HardWareMan",url="/forum/viewtopic.php?p=4569153#p4569153"]Конструкции типа |= или &= сначала считывают регистр а потом пишут в него. А значит, если в SR были другие события они тоже считаются и запишутся. А для write_only регистра это означит, что все события могут обнулиться.[/uquote]
Да, изначально меня тоже волновал этот вопрос - считал регистр, а за время подписывания в него чего-то своего в других битах что-то изменилось. В связи с этим прошу показать реальной строкой или строками как правильно проводить такие действия. Если отошлёте к мануалам, застрелюсь.
За мою жизнь прошло штук 6-7 котов и кошек, некоторых было очень жалко. Вот недавно пропала кошечка, уж очень я к ней прилип. Остальных закапывать приходилось мне.

Re: Генерация временных меток.

Добавлено: Вт апр 16, 2024 14:29:44
>TEHb<

Код: Выделить всё

TIM5->EGR = 3;

Re: Генерация временных меток.

Добавлено: Вт апр 16, 2024 14:37:21
КРАМ
[uquote="Юрий48",url="/forum/viewtopic.php?p=4569180#p4569180"]Да, изначально меня тоже волновал этот вопрос - считал регистр...[/uquote]
Рефмануал явным образом указывает как работать с регистром. Там прямо написано как сбрасывать или устанавливать биты.
Поэтому все регистры write-only имеют безразличное значение записи и активное. Например, чтобы сбросить флаг (не важно где - это как пример) нужно записать в разряд 1. Остальные нули в других разрядах будут проигнорированы. То есть, записывая в регистр 0х3, вы получите сброс двух младших разрядов одновременно. И не нужны никакие маски на считанное значение.

Re: Генерация временных меток.

Добавлено: Вт апр 16, 2024 16:29:58
Юрий48
Понял, спасибо. Это ещё раз доказывает мою тупость, видел в мануале, но не предал значение, поэтому получается, что тупо отсылать к мануалу не имеет большого смысла.