| Форум РадиоКот 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/ |
|


