Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Зарегистрирован: Сб сен 09, 2006 19:00:18 Сообщений: 257 Откуда: СССР
Рейтинг сообщения:0
Я ищу для 4 байтных значений, немного написал, но кода добавилось аж на 1К!
Мне нужно преобразовать 2-4байтное значение для вывода на 5 светодиодных индикаторов
Последний раз редактировалось Tohey Сб мар 17, 2007 18:03:26, всего редактировалось 1 раз.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
где a..e - выводимые символы, t - время их отображения, мс.
Внутри функции используется switch для выбора отправляемого на индикатор кода.
Если надо вывести несколько разрядов переменной temp,
использую
a=temp/100 для вывода сотен
b=temp%100/10 для вывода десятков
с=temp%100%10 для вывода единиц
при этом case с номером 0..9 должен давать код соответствующей цифры
_________________ Оптимизм х (Опыт + Знания) = const
Пожалуй, проще всего будет деление... А зачем такая большая задержка - 30ms?
А такой момент: в AVR-ах нет команды деления. Так что этот момент немного не удачен, но на практике все решается через BCD или деления, но немного не так. ))
Заголовок сообщения: CodeVision AVR в вопросах и ответах
Добавлено: Сб июн 16, 2007 13:11:31
Вымогатель припоя
Зарегистрирован: Ср мар 07, 2007 22:58:02 Сообщений: 586 Откуда: Черкассы, Украина
Рейтинг сообщения:0
Начал заниматся изучением ШИМ и столкнулся вот с такой проблемой. При настройке таймера пользовался конструкциец тима TCR0A=1<<WGM00 и подобными. КодВижн выдал сообщение о неизвестности WGM00. Просмотр tinyn2313.h (девайс собран на Attony2313) показал что нет зарезервированных слов названий битов таймеров(др. названий битов там тоже нет). После пересадки из tn2313def.inc (такие же библиотекаи только с АВРСттудио) (естесствено с заменой .equ на #define) компилятор выдаёт ошибку "must be lvalue" и подсвечивает строку TCR0A=1<<WGM00. Я бы может и не сильно страдал, но в шестнадцатиричн. формате устанавливать биты в регистрах не удобно, а в двоичном формате надо выкидывать зарезервированные биты(допустим из восьми зарезервирован бит 3 и 4(отсчёт с 0), тогда установка 0b00000001 катит а при записи 0b01000001 уже нет реакции на установленный бит 6). Помогите разобратся
_________________ There is only 10 kind of people: those who understands binary code and those who dont!!!
Последний раз редактировалось Negor Чт июн 28, 2007 12:46:35, всего редактировалось 1 раз.
...а в двоичном формате надо выкидывать зарезервированные биты(допустим из восьми зарезервирован бит 3 и 4...
Извините, но я не въехал насчёт зарезервированных битов. В регистре TCR0A зарезервированы биты 2 и 3. Они контроллером не используются вообще, и никуда их выкидывать не надо. Вместо них можно спокойно прописывать нули. От этого контроллеру не будет ни горячо и не холодно...
Ели же речь идёт о том, как изменить определённые биты в регистре, а остальные при этом не трогать, то тогда надо применять логические операции "И", если биты надо установить в "0", или "ИЛИ", если биты надо установить в "1" . Например, так:
ACSR &= 0B11110111; //запретить прерывания от аналог. компаратора (устанавливаем бит 3 в "0", а остальные не трогаем)
ACSR |= 0B10000000; // выключить аналог. компаратор, чтоб не жрал энергию (устанавливаем бит 7 в "1", а остальные не трогаем)
Оператор &= означает, что надо считать значение из регистра, сделать с ним и указанным операндом операцию "И" и присвоить результат обратно этому регистру.
Зарегистрирован: Ср мар 07, 2007 22:58:02 Сообщений: 586 Откуда: Черкассы, Украина
Рейтинг сообщения:0
Ну для установки битов мне нравится больше контрукция вроде TCR0A|=1<<WGM,
А то что вы спрашивали(т.е. я спрашивал а вы процитировали) вобщем забил я в TCR0A что-то вроде 0b01100001 кажется так... а в отладчике установился только первый бит(Пользуюсь АВРстудио), а когда записал в шестнацатиричном всё заработало... вот так вот
_________________ There is only 10 kind of people: those who understands binary code and those who dont!!!
КодВижн выдал сообщение о неизвестности WGM00. Просмотр tinyn2313.h (девайс собран на Attony2313) показал что нет зарезервированных слов названий битов таймеров(др. названий битов там тоже нет).
Я просто дополнительный хидер .h сделал с названиями битов.
В моем профиле линк.
_________________ Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Заголовок сообщения: Re: CodeVision : Просто вопрос
Добавлено: Сб июн 16, 2007 23:13:47
Вымогатель припоя
Зарегистрирован: Ср мар 07, 2007 22:58:02 Сообщений: 586 Откуда: Черкассы, Украина
Рейтинг сообщения:0
tych писал(а):
Negor писал(а):
КодВижн выдал сообщение о неизвестности WGM00. Просмотр tinyn2313.h (девайс собран на Attony2313) показал что нет зарезервированных слов названий битов таймеров(др. названий битов там тоже нет).
Я просто дополнительный хидер .h сделал с названиями битов. В моем профиле линк.
Так я тоже делал *.h файл где забивал названия битов к их номерам. в результате получал "must be lvalue".... и самое отвратительное - нет никаких справок по ошибкам
_________________ There is only 10 kind of people: those who understands binary code and those who dont!!!
Зарегистрирован: Ср мар 07, 2007 22:58:02 Сообщений: 586 Откуда: Черкассы, Украина
Рейтинг сообщения:0
Спасибо тов. tych! Единственное что меня смущает - это то, что INT0 и INT1 были переназначены(was redefined) но это я думаю говорит только о том что и в либе родной CodeVision забиты эти биты и в вашей(от вас)... но я надеюсь они не покусаются Просмотрел я приведённый вами Либ и понял что забиты они в 16-ричном формате как беззначные на один байт(char занимает же один байт,так?)... только не понял что означает volitile и не могу понять зачем звёздочки(знаю что связано с понятием "указатель")... вы мне разъясните окончательно, пожалуйста, а то не комфортно изучать дальше не разобравшись.... заранее большое спасибо
_________________ There is only 10 kind of people: those who understands binary code and those who dont!!!
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения