if (ADC > max) max = ADC; if (ADC < min) min = ADC;
if ((max-min) > norm) PORTB |= 1<<PB0;
В 12-битном АЦП диапазон 0-5 В преобразуется в значения от 0 до 4095? В этом коде 0xFFF = 4095? Если min и max заданы типом переменной uint16_t , а norm просто 1000 (int?), корректно ли их сравнение? То есть включается ли norm в этот диапазон от 0 до 4095? Не стоит ли min и max заменить на float или обозначить norm как uint16_t norm = 3E8 (1000 в шестнадцатиричной системе)?
Во-первых, вы в коде можете писать не только в 16-ричной, но и в 10-чной системе. Во-вторых, значения из регистра из 12-битого АЦП при любом раскладе не будут превышать диапазон 0 - 4095. А почему max = 0, а min = 4095? В диапазон int всяко будет входить диапазон uint16_t. int - платформозависимый, и на 32-битной системе он равнозначен int32_t. В принципе, диапазон 0-4095 помещается в диапазон uint16_t. С другой стороны, когда пишете #define NORM 1000, то это константа, и по умолчанию она будет иметь диапазон int. float как бы вообще не нужен, если вы в целых числах все делаете. Тем более, операции сравнения во float вообще опасны.
Цитата:
uint16_t norm = 3E8
вот тут не понял. Как так?
Последний раз редактировалось Up2805 Пн июн 20, 2022 19:25:16, всего редактировалось 1 раз.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Лучше, наверное, учебник. А то с одной стороны хорошо, что любое сомнение вызывает вопросы, но с другой стороны, задавать подобные вопросы просто-напросто дольше, чем прочитать книжку.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 43
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения