Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Зачем "& 0x00ff" и "& 0xff00" ? В первом случае, при присвоении к 8-ми битной переменной, старший байт сам улетит. Во втором случае, он улетит при сдвиге вправо.
Зачем "& 0x00ff" и "& 0xff00" ? В первом случае, при присвоении к 8-ми битной переменной, старший байт сам улетит. Во втором случае, он улетит при сдвиге вправо.
А что будет если от переменной unsigned равной нулю, отнять какое-то число? Например, 25? Unsigned переменная ведь не может иметь знака -... В онлайн симуляторе СИ биты инвертируются и переменная приобретает неприлично большое значение. В CVAVR будет такое же поведение?
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
А что будет если от переменной unsigned равной нулю, отнять какое-то число? Например, 25? Unsigned переменная ведь не может иметь знака -...
Си не контролирует выходы за пределы диапазона. И все переполнения и прочее - на совести программиста. Пусть будет unsigned char n = 0 тогда n -= 25; приведет к тому, что из 0 вычтется 25. Результат будет -25. -25 в знаковом представлении записывается как 0xE7. Этот результат и запишется в нашу переменную n. Но поскольку она беззнаковая - значение будет интерпретироваться как 231. Вас же не удивит факт, если к байтовой переменной, в которой записано 240 (0xF0) прибавить 20 (0x14), то получится не 260, а 4 (0x04) ? 0xF0 + 0x14 = 0x104. Но 1 теряется, ибо переменная байтовая. Остается 0x04. То же самое при вычитании работает.
Как видно, это банальная запись в оперативку и вызов процедуры записи в EEPROM. Этот дизасм - результат компиляции кода, написанного на C++ ардуиновским компилятором и без оптимизации.
_________________ I am DX168B and this is my favourite forum on internet!
Добавлено after 1 hour 14 minutes 34 seconds: GoldenAndy, еще интересен момент...
Код:
uint8_t var[3] = {245, 235, 255}; uint8_t sum;
sum = (var[0] + var[1] + var[2]) / 3;
Интересно как обрабатывается вычисление в скобках? Ведь там результат сложения явно будет больше одного байта. Но после деления все снова будет в нужном диапазоне. Куда запишется временный результат сложения в скобках и нужно ли заботится о том, что он выходит из допустимого диапазона чисел?
Kalisnik, ООП АВРкам не под силу. Они умеют только машинные коды выполнять. А как сформированы эти коды - вопрос к компилятору. (И к прокладке) А ООП - это к компилятору. Умеет компилятор ООП - будет работать на АВР, не умеет - не будет. Ардуина - это плюсы, соответственно, все прелести ООП доступны. Но нужно уметь ими красиво пользоваться, что б не выжрать все ресурсы.
тогда компилятор для промежуточных вычислений зарезервирует 16 бит переменную (2 регистра), а результат запишет в 8 битную выходную переменную.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Сейчас этот форум просматривают: veso74 и гости: 39
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения