Перейти к содержанию
    

STM32F103_таймер_регистры

Гость do_not_know_Linux

Не  побеспокоил бы вас столь занятых людей таким школьным вопросом, но реально запутался. 

в регистре

Quote

в

CC1S[1:0]

заношу значение

Quote

01

это значит что настраиваю канал на вход, то есть на захват сигнала TI1.  Вот тут и начинается непонимание. помним что канал настрое на вход.

дальше иду в регистр

TIMx_CCER

и в бит

CC1E

записываю единицу.  так как канал настрое на вход то это будет значить что я включил входную фиксацию то есть текущее значение счетчика будет помещено в регистр

TIMx_CCR_x

теперь иду в регистр к  примеру

TIMx_CCR1

и читаю что если канал настроен как вход, а он у меня именно так и настроен как мы помним выше, то ССR1 содержит значение счетчика. запускаю свою программу и  ничего не работает.  Хорошо, помещаю в регистр TIM_CCR1=7 и шим работает.  Это значит что теперь ССR1 содержит значение которое используется для сравнения с текущим значением счетчика, то есть с TIM1_CNT.    Но ведь это режим выхода!!!  помогите пожалуйста разобраться где я напутал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При отличном от нуля CC1S должно работать как вход, а регистр CCR1 становится только для чтения. Если у вас работает как выход, значит нужно проверять конкретную реализацию в коде.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость do_not_know_Linux
On 12/19/2021 at 7:55 PM, Alex-lab said:

При отличном от нуля CC1S должно работать как вход, а регистр CCR1 становится только для чтения. Если у вас работает как выход, значит нужно проверять конкретную реализацию в коде.

кажется разобрался, но это не точно.  а так спасибо огромное что нашли время и постарались помочь

 

 

 

 

Изменено пользователем do_not_know_Linux

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Изменять эти биты нужно до того, как запустили таймер на счет. Если во время, то он не переключит режим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость do_not_know_Linux
14 hours ago, Alex-lab said:

Изменять эти биты нужно до того, как запустили таймер на счет. Если во время, то он не переключит режим.

спасибо. просто я тупил, ну может быть и сейчас туплю, но я когда творил ШИМ то конфигурировал таймер как вход. при этом в регистре TIMx_CCR1  у меня лежало значение. но так как таймер был настроен на вход то TIMx_CCR1  был доступен только для чтения и поэтому не мог быть перезаписан значением счетчика. И из-за этого  ШИМ даже работал и настраивался.  Но опять же, это не точно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, do_not_know_Linux said:

TIMx_CCR1  был доступен только для чтения и поэтому не мог быть перезаписан значением счетчика

Там помимо CEN в CR1 нужно еще учитывать следующее:

Bits 1:0 CC1S: Capture/Compare 1 selection
This bit-field defines the direction of the channel (input/output) as well as the used input.
00: CC1 channel is configured as output
01: CC1 channel is configured as input, IC1 is mapped on TI1
10: CC1 channel is configured as input, IC1 is mapped on TI2
11: CC1 channel is configured as input, IC1 is mapped on TRC. This mode is working only if
an internal trigger input is selected through TS bit (TIMx_SMCR register)
Note: CC1S bits are writable only when the channel is OFF (CC1E = ‘0’ in TIMx_CCER).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость do_not_know_Linux
2 hours ago, Alex-lab said:

Note: CC1S bits are writable only when the channel is OFF (CC1E = ‘0’ in TIMx_CCER).

  •  
2 hours ago, Alex-lab said:

Note: CC1S bits are writable only when the channel is OFF (CC1E = ‘0’ in TIMx_CCER).

это я понимаю. спасибо

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...