Извиняюсь, если было или не в ту тему, но вот такая проблема возникла с CodeVisionAVR впервые за несколько лет работы:
При переносе проектов на другой комп и установки точно такой же версии CodeVisionAVR 2.05 возникла проблема: не открываются некоторые проекты! КодВижн выдает ошибку с единственным словом: "The"...
Проблема наблюдается на 2-х разным машинах с разными версиями виндоф. Кто нибудь сталкивался с подобной проблемой? Отзовитесь, пожалуйста...
Тренируюсь в Протеусе с внешней памятью 24С256, с помощью библиотеки i2c.h и функций i2c_write и т.д. Писать побайтно без проблем, а вот если например надо стереть всё, FF на все 32 кб, то на каждый байт по 10 мс-это же сколько времени уйдет. Читал, что можно постранично писать в память, а как это сделать?
Ну понятно, даташиты читать нада.. Первый адрес и отправляешь 64 байта и так вроде работает, без LOW адреса и какой смысл этого адреса последнего байта, если и так известно, что он будет= первый+64.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Смысла нет, поэтому адрес последнего байта нигде и не требуется. В даташите в том числе.
Следует учесть, что если адресовать первый байт не кратный 64 (начать писать страницу не с нуля, а где-то с серединки страницы), то при переполнении страницы следующий байт будет записываться в начало той же, а не следующей страницы.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
А что же это тогда?- Adress High Byte и Adress Low Byte. И еще вопрос- при побайтной записи, после каждого байта делаем задержку ~10 мс, а при постраничной записи между байтами не делаем и после записи страницы тоже не делаем?
Это старший байт адреса и младший байт адреса. Одного и того же адреса - начального! Как, собственно, и следует из их названий.
При постраничной записи передаваемыми данными набиваются SRAM-ячейки специального регистра, а уже потом за 10мс они все параллельно сбрасываются в матрицу в нужную строку. Соответственно, страничная запись приблизительно в 64 раза быстрее.
На вход Т1 таймера постоянно поступают импульсы, широкий импульс-1, короткий-0, импульсов-36, начало определяется самым широким импульсом, равным периоду. Надо измерять длительности импульсов и записывать эти нули и единицы в переменную. Как это сделать? Мне бы посмотреть код для такой цели.
настраивай прерывание по захвату, в прерывании: если иср1>10 //проверка дребезга {тсср1-=иср1; //сброс таймера для след. замера приемник=приемник<<1; //продвигаем переменную приемник //если (иср1 < 100) короткий импульс (точка) действий нет если (иср1 > 100) приемник++; //тире если (иср1 > 1000) приемник=0; // стартовый импульс }; // это для постоянной скорости
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Но прерывание по захвату работает с ножки ICP, а тут счетный вход Т1. Остается вариант в цикле смотреть ногу, запускать таймер и смотреть длительность.
получается так... ногу придется использовать как вход порта, а не по железной доп. возможности.
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Всем привет. Помогите с кодом. Нужно вставить таймер отключения для HL1 через минуту его работы. и осталась функция раньшего отключения по S1 как реализовано у меня
Код:
Chip type : ATtiny13A AVR Core Clock frequency: 1,200000 MHz Memory model : Tiny External RAM size : 0 Data Stack size : 16 *******************************************************/
#include <tiny13a.h> #include <delay.h> #define S1 PINB.3 #define S2 PINB.4 #define HL1 PORTB.2 #define HL2 PORTB.1 #define OFF 1 #define ON 0 #define HOLD 200 // время равно: секунда * 100
получается так... ногу придется использовать как вход порта, а не по железной доп. возможности.
Прошу раскритиковать,если что.. Т.к. мне нужно знать длительность импульса в узко конкретном диапазоне -до 200 us и не нужно знать точную длит.,а просто для сравнения с каким то значением, сделал так-настроил таймер на 250 кгц( но с кварцем в проекте 16 мгц, в Протеусе на 8 мгц-только так корректно работает), и по спаду импульса считаю длит. по TCNT0, диапазон получается до 30, вполне можно работать. А с 16 и 8 мгц я что-то не понял.
если такая длительность маленькая, может и не тревожить таймер а обойтись программными задержками как поймал прерывание задержка антидребезга, перепроверил ногу — отпущена - выходим, нет - делаем нужную задержку потом проверяем снова отпущена - короткий, ещё нажата - длинный (можно ещё флаг прерывания проверить - убедиться, что это одно длинное нажатие, а не несколько коротких — при одном длинном флаг будет сброшен).
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
А зря: промежуток довольно маленький и желательно максимально точно отследить его начало, но постоянно проверять порт - довольно неудобно, да и процессор нагружает. Правда, вспоминаю, было ограничение на используемую ногу - если на ней нет прерывания, то его, к сожалению и не использовать...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Точно уверены, что именно на землю, а не к питанию, подтянуты входы расширения?
Ну и ещё у PCF8574 базовый адрес 0x40, а у PCF8574A - 0x70, так что ещё дело может быть и в этом.
Ещё момент: микросхема может выдать "честный" ноль, но по единице уже нет. Поэтому если там на выходе у Вас вдруг светодиод, нужно подключать его (с резистором, естественно) между ножкой и питанием, а не между ножкой и землёй.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения