-
- А прерывание по переполнению не катит? - АПМ(05.07.2013 11:35)
- В смысле? - pav256(11.07.2013 10:56)
- что бы отслеживать редкие события переполнения, при увеличения тактовой. - АПМ(11.07.2013 17:53)
- В смысле? - pav256(11.07.2013 10:56)
- У вас в первом сообщении написано, что вы хотите защёлкивать значение счётчика с частотой 100 Гц. Если максимальная частота 5 МГц, между защёлкиваниями придёт не более 50000 импульсов. Поскольку это меньше 65636, простое вычитание предыдущего йцукен(83 знак., 04.07.2013 12:21, )
- Таймер в режиме счетчика внешних событий, один канал COMPARE проверяет значение для максимальной частоты. Перезапуск счетчика - аппаратный от другого таймера, сбор показаний - через DMA. - vmp(04.07.2013 11:54)
- Покажите пожалуйста ссылку в ДШ, где есть аппаратный перезапуск от другого таймера? - KLIM83(04.07.2013 11:59)
- 14.3.19. TIMx and external trigger synchronization. Slave mode: Reset mode. - vmp(04.07.2013 12:10)
- Как я понял, "trigger controller" - работает с одной нитью событий, будь то сброс счетчика или подача на него внешней частоты. В "Slave mode: Reset mode" CNT тактируется от внутреннего генератора. Если это не так прошу выложить/исправить код pav256(1215 знак., 04.07.2013 13:14)
- Тактируются независимо. Читать 14.3.3 Clock Selection, External clock mode 1. И описание TIMx_SMCR. Еще рекомендую AN4013 STM32F1xx, STM32F2xx, STM32F4xx, STM32L1xx, STM32F30/31/37/38x timer overview - vmp(04.07.2013 14:11, ссылка)
- Знатная фишка. Жаль, что не везде есть. - KLIM83(04.07.2013 12:15)
- Как я понял, "trigger controller" - работает с одной нитью событий, будь то сброс счетчика или подача на него внешней частоты. В "Slave mode: Reset mode" CNT тактируется от внутреннего генератора. Если это не так прошу выложить/исправить код pav256(1215 знак., 04.07.2013 13:14)
- 14.3.19. TIMx and external trigger synchronization. Slave mode: Reset mode. - vmp(04.07.2013 12:10)
- Покажите пожалуйста ссылку в ДШ, где есть аппаратный перезапуск от другого таймера? - KLIM83(04.07.2013 11:59)
- Либо жертвовать вычислительными ресурсами на остановку/ обнуление/ запуск счётчика каждый интервал измерения, ну и пропуск сигналов с датчика из этого явно вытекает; либо жертвовать опять таки вычислительными ресурсами на подсчёт разности, что к KLIM83(38 знак., 04.07.2013 11:45)
- Обнулить счетчик таймера (младшие разряды) можно без остановки/запуска, т.к. обнуление гарантирует, что в ближайшее время переполнение не произойдет. При этом подразумевается, что старшие разряды (число переполнений) считаются в переменной по Ксения(376 знак., 04.07.2013 14:12 - 14:25)
- Идея была в том, чтобы остановку/обнуление/запуск/защелкивание счётчика делать аппаратно (пропуски если и будут, то уложатся в погрешность), и программно на низком приоритете лишь читать защелкнутые значения 100 раз в секунду. Если ТАК не pav256(85 знак., 04.07.2013 13:37)
- Ошибка п.п. 2 - 5МГц конечно не меандр, импульсы короче - pav256(04.07.2013 11:32)
- А прерывание по переполнению не катит? - АПМ(05.07.2013 11:35)