Например TDA7294

Форум РадиоКот :: Просмотр темы - stm32f4 6 input capture
Форум РадиоКот
https://radiokot.ru/forum/

stm32f4 6 input capture
https://radiokot.ru/forum/viewtopic.php?f=59&t=107871
Страница 1 из 1

Автор:  urry [ Пт сен 19, 2014 10:18:09 ]
Заголовок сообщения:  stm32f4 6 input capture

понадобилось 6 каналов input capture - интересует только rising и собственно, расстояния между ними.
сначала решил, что несложно - взять 2 таймера, в каждом по 4 канала и их синхронизировать типа
TIM_SelectOutputTrigger(TIM2, TIM_TRGOSource_Enable);
TIM_SelectMasterSlaveMode(TIM2, TIM_MasterSlaveMode_Enable);

TIM_SelectSlaveMode(TIM3,TIM_SlaveMode_Gated);
TIM_SelectInputTrigger(TIM3, TIM_TS_ITR1);

TIM_Cmd(TIM3, ENABLE);
TIM_Cmd(TIM2, ENABLE);
Но ничего хорошего не вышло. Таймера не считают синхронно.
Что можно предложить ?

Автор:  HHIMERA [ Пт сен 19, 2014 11:07:07 ]
Заголовок сообщения:  Re: stm32f4 6 input capture

А причём здесь ворота... когда должен быть триггер??? Или я чего-то не понял???

101: Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The
counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of
the counter are controlled.

110: Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not
reset). Only the start of the counter is controlled.

В референсе же есть описание одновременного старта... "Или нет?"(С)

Автор:  urry [ Пт сен 19, 2014 11:19:47 ]
Заголовок сообщения:  Re: stm32f4 6 input capture

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

Автор:  HHIMERA [ Пт сен 19, 2014 11:36:10 ]
Заголовок сообщения:  Re: stm32f4 6 input capture

Схожу на рынок... потрачу немного денег... и посмотрю по исходникам/в железе что там...
Два таймера пинал третьим точно... без проблем... по поводу двух уже не помню... гляну...
Правда я SPL совсем не пользуюсь...

==============
Ну не знаю... на регистрах всё тютелька в тютельку... ну они же ручные... :)
Накидал простеькую прогу под STM32F050... что под рукой валялось...
Код:

#define TIMx           TIM2
#define TIMy           TIM3


void TIM_Config(void)
{

  RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
  RCC->APB1ENR |= RCC_APB1ENR_TIM3EN;

 
  TIMx->CR2 |= TIM_CR2_MMS_0;                       // MMS = 001 Enable - the Counter enable signal, CNT_EN, is used as trigger output (TRGO) 
  TIMy->SMCR |= TIM_SMCR_SMS_2 | TIM_SMCR_SMS_0;    // SMS = 101 Gated Mode
  TIMy->SMCR |= TIM_SMCR_TS_0;                      //  TS = 001 TIM2_Master TIM3_Slave
//  TIMy->SMCR |= TIM_SMCR_MSM;
 
  TIMx->EGR |= TIM_EGR_UG;
  TIMy->EGR |= TIM_EGR_UG;
 
  TIMy->CR1 |= TIM_CR1_CEN;
  TIMx->CR1 |= TIM_CR1_CEN;
}


int main(void)
{
SysTick_Config(SystemCoreClock/1000);   // Setup SysTick Timer  (1ms)
   
TIM_Config();
Delay_mS(100);
   
TIMx->CR1 &= ~TIM_CR1_CEN;   
   
__NOP();

TIMx->CR1 |= TIM_CR1_CEN;   
Delay_mS(100);
   
TIMx->CR1 &= ~TIM_CR1_CEN;   
   
__NOP();   
   
while(1);

}


Бряки на NOP'ы...

На первом бряке
CNT TIM2 - 0x00493DE1
CNT TIM3 - 0x00003DE1

На втором бряке
CNT TIM2 - 0x00927BD3
CNT TIM3 - 0x00007BD3

Только что TIM2 32 бита... и отражаются все переполнения...

Автор:  urry [ Пт сен 19, 2014 18:35:44 ]
Заголовок сообщения:  Re: stm32f4 6 input capture

спасибо, но что-то не прокатило...

Автор:  HHIMERA [ Пт сен 19, 2014 19:31:08 ]
Заголовок сообщения:  Re: stm32f4 6 input capture

Странно... пример то простейший..
Откопал свою 4FDiscovery... проверил... всё синхронно...
Может что с частотами/делителями накручено???

Автор:  urry [ Сб сен 20, 2014 12:13:22 ]
Заголовок сообщения:  Re: stm32f4 6 input capture

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/