Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

А я, кажется, нашел ошибку в RM0008

Пн авг 21, 2017 06:05:14

Мяу, товарищи.

15.4.12 TIMx auto-reload register (TIMx_ARR)
Address offset: 0x2C
Reset value: 0x 0000
...
Bits 15:0 ARR[15:0]: Prescaler value
ARR is the value to be loaded in the actual auto-reload register.
Refer to the Section 15.3.1: Time-base unit for more details about ARR update and
behavior.
The counter is blocked while the auto-reload value is null.
Так вот, если запустить таймер не трогая этот регистр, то он весело считает от 0 до 65535 включительно, хотя последняя строчка цитаты обещает, что он считать не будет. Ну, и, глянув отладчиком на нетронутый (до первой записи в него) TIMx->ARR видим там 0xFFFF, а не 0х0000, как обещает RM0008
----------
Так вот, разобрались! Документ RM008 Rev16 содержит целую кучу ошибок. 11 августа этого (2017) года вышла 17-я ревизия этого документа, кто пользуется более ранними ревизиями - обязательно обновите, там исправлена куча ошибок!
Последний раз редактировалось afz Пн авг 21, 2017 13:33:39, всего редактировалось 1 раз.

Re: А я, кажется, нашел ошибку в RM0008

Пн авг 21, 2017 07:56:39

Скорее следует читать
"счетчик блокирован, если значение в регистре автоперезагрузки равно нулю"
а вот насчет того, что в тот регистр загружается "по умолчанию" - надо искать в разделе "состояние регистров при сбросе" (аппаратный и прочие виды сбросов).
Могут иметь место всяческие нюансы "косвенного сброса"(не по прямому внешнему сигналу на лапке RESET), оставшейся от предыдущих программ мусор ...
:dont_know:

Re: А я, кажется, нашел ошибку в RM0008

Пн авг 21, 2017 09:38:40

Открыл RM0008, для всех ARR всех таймеров, в том числе и в разделе 15.4.12, Reset value равно 0xFFFF. Может стоило просто RM обновить, а не разводить сразу панику :)

Re: А я, кажется, нашел ошибку в RM0008

Пн авг 21, 2017 12:35:40

Так это, выходит, ошибку пофиксили только что. Всегда был уверен, что у меня достаточно свежий RM0008 - Rev 16 November 2015. Сейчас качнул с ST новый - Rev 17 August 2017, так в нем, действительно, 0xFFFF. Сегодня, напоминаю, 21 августа 2017, новый документ существует, максимум, 20 дней!

Re: А я, кажется, нашел ошибку в RM0008

Пн авг 21, 2017 12:47:38

Так это, выходит, ошибку пофиксили только что. Всегда был уверен, что у меня достаточно свежий RM0008 - Rev 16 November 2015. Сейчас качнул с ST новый - Rev 17 August 2017, так в нем, действительно, 0xFFFF. Сегодня, напоминаю, 21 августа 2017, новый документ существует, максимум, 20 дней!

Не знаю когда точно появился Rev 17, но я его скачал 4 дня назад, т.е. на момент появления твоего поста он уже был.

Re: А я, кажется, нашел ошибку в RM0008

Пн авг 21, 2017 13:27:33

Посмотрел дату загрузки того RM0008, который с ошибкой, Rev 16. Я его укачал 01 августа этого года, в 09:45 (у меня GMT+6).

2 All: кто пользуется документом RM0008 ревизии ниже 17-й, обязательно обновите - там, как минимум, одна ошибка.

Добавлено after 15 minutes 16 seconds:
Заглянул в Revision history, 11 августа. Блин, и в том, что я уже изучил кучка изменений! Р-р-р!

Re: А я, кажется, нашел ошибку в RM0008

Ср мар 21, 2018 08:13:55

Кстати, RM0008 опять обновился. 8-го марта. Кто держит копию у себя, обновите.
Ответить