Заголовок сообщения: Re: STM32 новичку в ARM что к чему
Добавлено: Пт фев 16, 2018 14:17:09
Встал на лапы
Зарегистрирован: Вс мар 01, 2009 20:41:19 Сообщений: 125
Рейтинг сообщения:0
Myp3ik. достаточно чтобы проработать 1-5 мин, да и выделяется от силы 5 байт.А может быть что, в основном цикле тоже есть выделение дин памяти, при прерывании просто адреса выделяемой памяти друг на друга накладываются?
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
А еще лучше, как Вы и поступили, просто выделить массив. Где это возможно, от динамического выделения памяти лучше отказаться, особенно там, где оно не нужно в принципе.
_________________ Иван Сусанин - первый полупроводник
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Добрый день, подскажите, для какой цели здесь стоит пред делитель "RTC_DIV", вроде как для более точного измерения, но каким образом это происходит не понятно. Так же в даташите http://www.st.com/content/ccc/resource/ ... to,-13,759 написано что он перезагружается из RTC_PRL, но я смотрю в отладки IAR, значение RTC_DIV скачет как хочешь и не капельки не совпадает с PRL. Ну и ещё один вопрос, его можно считывать, но зачем?
Добрый день, подскажите пожалуйста как настроить porch для данного контроллера. http://prntscr.com/iqv0td Получается жестко задается только задний porch, а как выбрать длину синхроимпульса и передний? DOTCLK 60MHz.
Подкиньте идею в каком направлении копать. Хочу к stm32F051 подключить цветовой сенсор TCS3200, который выдаёт частоту в зависимости от интенсивности света. Максимальная частота может быть 600кГц, 120кГц или 12кГц. Т.е. могу выбрать любую. Каким образом можно на этом кристале померять частоту? У меня уже заняты TIM3 и 15. А из свободных входов есть все 4 TIM1_CH1-4 и TIM1_ETR. Пока как самое простое нашел как измерять период через каналы захвата (называется PWM input в RM), но может есть еще какой способ? Смотрел режим slave trigger mode, но похоже это только запускает счет, но не останавливает.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Вам и нужен режим захвата PWM. По завершении захвата будет прерывание, в одном регистре будет период PWM, в другом - заполнение. А вообще там таймер можно настроить как угодно...
_________________ Иван Сусанин - первый полупроводник
Спасибо за отзывы, но режим захвата мне не очень нужен - у него время измерения зависит от измеряемой частоты. Правда забыл написать, что минимальная частота может быть 2 Гц. В моей ситуации это не будет никогда (если только разом не перегорят все светодиоды, хотя может просто отвалиться их питание), но тем не менее.
Просто месяц назад решал аналогичную задачу для микрочипа - надо было мерять период секундных импульсов от RTC в тактовых импульсах контроллера и подгонять эту же частоту, чтобы уменьшить отклонение, чтобы UART нормально работал. И там был применен именно trigger gated mode - один фронт запускал счет, второй - останавливал. Еще и в режиме одиночного запуска: прочитал значение, сделал коррекцию, и запустил для измерения следующего периода. Но в STM32F051 этого режима не нашел, а самый похожий и был режим захвата PWM. Но здесь мне нужен всё же режим подсчета импульсов за интервал времени.
Мне уже прислали исходник в котором используется один таймер как мастер задающий счетный интервал, для слейва, который и считает импульсы за этот интервал. Причем, мастер в режиме одноразового срабатывания. Т.е. я ручками выставляю код цвета - измеряю, меняю код - снова измеряю итд. А врежиме захвата я уже начал настраиваться, чтобы захваченные значения через ПДП заносились в массив в котором я буду высчитывать средний период итп. И как удачно, что слейвом является TIM1. Правда, мастер - TIM3, который у меня уже занят другими делами, но я посмотрел, что могу использовать взамен TIM2, TIM15 или TIM17. Хм, почему эту инфу надо искать по двум даташитам? разве нельзя сразу указать там где есть таблица доступных таймеров с числом каналов захвата итп. инфой? А то трудно распланировать, когда нужно найти кто может запускать АЦП, кто ПДП, а при переходе на другой кристалл, оказывается что этого таймера нет, а "соседний" или не умеет этого делать или работает с каналом ПДП, который занят каким-то другим ресурсом.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
режим захвата мне не очень нужен - у него время измерения зависит от измеряемой частоты
все равно ж нужен хоть один период для измерения - в STM32F0xx Snippet Examples есть пример - 03_InputCaptureOnTI1: This example configures the TIM1 in order to compute the elapsed time between two rising edges occurring on its TI1 (channel 1). Применял на практике - нужно было определять частоту 425Гц, использовал TIM14 - там как раз один канал захвата, работает четко. Тут было еще на форуме про reciprocal frequency meter , пробовал практически на STM32F030F4P6 - тоже было в одной теме на форуме, но тему почистили. Немного теории, правда AVR: http://www.mshopf.de/proj/avr/freq_meter.html на STM32F030F4P6, в случае reciprocal, задействовано было 2 таймера
В данном случае я не делаю частотомер, а просто опрашиваю датчик цвета. Т.е. мне нужно просто оценить отношение частот на выходе. Так что имхо, наоборот, отсутствие импульсов мне явно сообщит, что для данного канала цвета - темно. И не надо будет ждать полсекунды. Т.е. если я интервал измерения сделаю по 1ms, то через 4 с небольшим, я уже буду знать цвет.
_________________ А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения