Обязательным условием долгой и стабильной работы 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!!!
Сейчас этот форум просматривают: Just_Fluffy и гости: 74
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения