-то иногда на выходе на ноге А3 иногда плюс остается,иногда ноль. Что-то делал в авр для того,чтобы на ноль падал всегда, не могу вспомнить. Посоветуйте.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2694 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
Как скучно вы живете со своими готовыми функциями.
Предположу что мк STM8S103.
Вы устанавливаете режим PWM1, т.е. записываете в биты OC1M[2:0] 0b110.
Установив в эти биты 0b001 или 0b010 выход порта принудительно установится 1 или 0 соответственно. Таймер останавливать для этого не надо, если конечно другой нет причины для остановки.
Можно использовать вот такие конструкции (структура с битовыми полями). TIM2_CCMR1_OC1M=0x1; //принудительно в 1. TIM2_CCMR1_OC1M=0x6;//режим PWM1
Второй вариант, с компилироваться должно короче. OC1M установлен режим 0b110, т.е. pwm1. Вам надо принудительно на выходе установить 0. Т.е. режим 0b010 или всего лишь погасить бит OC1M2. TIM2_CCMR1_OC1M&=0x3; Вернуть обратно TIM2_CCMR1_OC1M|=0x4;
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Ну как скучно..пришлось проездом написать для STM8 прогу, с синтаксисом для IAR запутался, для STM32 побитово писать я пробовал,а тут что то затупил. STM8S003. Какой бит для чего я понял, а вот как писать,чтоб IAR не ругался.. Хидеры конечно же смотрел. TIM2_CCMR1_OC1M&=0x3;-такое не проходит. А вот это надо запомнить- CLK->PCKENR1 = CLK_PCKENR1_TIM1 * 0 | CLK_PCKENR1_TIM2 * 1 .... -биты умножать на ноль и один.
Карма: 29
Рейтинг сообщений: 645
Зарегистрирован: Сб май 14, 2011 21:16:04 Сообщений: 2694 Откуда: г. Чайковский
Рейтинг сообщения:0 Медали: 1
У меня в хидере таких определений нет. Вы можете сами это сделать или может у Вас уже есть такие определения. Однако такой конструкцией Вы погасите остальные биты в регистре.
Видимо TIM2_CCMR_OCM это константа 0x70; Чтобы выключить бит OCM2, сделайте так.
TIM2->CCMR1&= ~(TIM2_CCMR_OCM & 0x40);
Возможно у Вас определена константа TIM2_CCMR_OCM2 как 0x40. Тогда TIM2->CCMR1&= ~(TIM2_CCMR_OCM2);
_________________ Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
А вот это надо запомнить- CLK->PCKENR1 = CLK_PCKENR1_TIM1 * 0 | CLK_PCKENR1_TIM2 * 1 .... -биты умножать на ноль и один.
Так можно просто взять все описания битов из хедера и регулировать в процессе отладки программы. Поэтому у меня нет функций в настройках периферии, только несколько присваиваний.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 28
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения