Здравствуйте, написал программу, точнее набыдлокодил. И столкнулся с проблемой. Использую софтовый юарт, аппаратный юарт с прерываниями по приему, таймер2 и внешнее прерывания для реализации трехканального димера на 220 вольт - и это все прекрасно работает(ну или я не вижу лагов), но как только я добавляю двухканальный шим на таймере1, без предделителя в режиме Fast PWM top=00FFh. Начинаются лаги выраженные в мерцании ламп, причем чем я ставлю ниже частоту шима тем меньше лагов. в чем может быть приблема????
while(1){ ... тут логика основной программы, неспешная бработка кнопок
// OCR1AL = isp_power[fire_level-1]; // OCR1BL = fan_speed[fire_level-1]; и не важно закоментированны эти две строки или нет тупит уже после инициализации таймера ...
// обработка прерывания с с периодом 180мкс ISR (TIMER2_COMP_vect){ if ((timer_pwm+1)== lamp[0]) {HIGH(LAMP1_OUT_PORT, LAMP1_OUT);} if ((timer_pwm+1)== lamp[1]) {HIGH(LAMP2_OUT_PORT, LAMP2_OUT);} if ((timer_pwm+1)== lamp[2]) {HIGH(LAMP3_OUT_PORT, LAMP3_OUT);}
if ((timer_pwm == 90) || (!timer_pwm)) { LOW(LAMP1_OUT_PORT, LAMP1_OUT); LOW(LAMP2_OUT_PORT, LAMP2_OUT); LOW(LAMP3_OUT_PORT, LAMP3_OUT); } if (timer_pwm){timer_pwm--;} }
Заголовок сообщения: Re: Помогите найти причину лага.
Добавлено: Вс июн 04, 2023 22:54:25
Вымогатель припоя
Карма: 1
Рейтинг сообщений: 123
Зарегистрирован: Вт мар 03, 2015 20:13:46 Сообщений: 529 Откуда: рядом с "не резиновой" живу в деревне
Рейтинг сообщения:0
Заголовок сообщения: Re: Помогите найти причину лага.
Добавлено: Пн июн 05, 2023 16:32:37
Вымогатель припоя
Карма: 1
Рейтинг сообщений: 123
Зарегистрирован: Вт мар 03, 2015 20:13:46 Сообщений: 529 Откуда: рядом с "не резиновой" живу в деревне
Рейтинг сообщения:0
Если используете библиотеки нет ли там использования таймеров.. может кнопки висят на прерываниях чтоб гасить дребезг..
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Библиотека только для софт юарта. Кнопки в мейне опрашиваю по флагам с прерывания.
Добавлено after 5 hours 40 minutes 11 seconds: Думаю что разобрался. Нагрузка на одном из каналов шим при работе давала помеху, что вызывало внешнее прывание чаще положеного. Поставил емкость 0,1 паралельно нагрузке и все стало работать как надо. Всем спасибо)
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 52
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения