всем драсти;) значит надо мне было сделать КА (энкодер) для управления некоторыми параметрами. сделать то получилось, но ушел на это целый человекодень. камень был в том, что обработчик энкодера все время возвращал нажатую кнопку. кнопка висела между землей и пином порта. китайцы пожалели на платке энкодера распаять подтяжку на шину питания. когда начал копать что к чему сделал так:
Кнопка на нулевом пине порта D, светилка на нулевом пине порта B. и вот тут меня пожидал сюрприз, кнопка отпущена, а светилка моргает.(светилка реагирует только на высокий уровень). дальше взял резистор 10к и подтянул кнопку к шине питания. о чудо, все заработало. но пытливый ум рукам покоя не дал. начал пробовать различные комбинации инициализации портов. каково же было мое удивление, когда контроллер продолжил работать даже когда порт кнопки инициализирован на выход, а порт светилки на вход. одним словом контроллер не реагировал на изменения регистров ddrx, даже когда я полностью закоментировал инициализацию портов, все продолжило работать. мультиметром был установлен низкий уровень на портах подтянутых внутренним резистором, правдо после сброса низкий уровень появлялся не сразу а через 3-8 секунд. проверил остальные атмеги мои. плата ардуино уно, плата ардуино промини и атмега в дип корпусе на макетке беспаечной показали одинаковый результат. (в среде менял девайсы- atmega328 и atmega328p, без изменений) важный момент-все мои атмеги с индексом p,были куплены в разное время на алиэкспрес. программатор usbisp оттуда же. среда - atmelstudio 7 с оф. сайта. теперь вопрос как можно выяснить что виновато в таком косяке, софт или железо? или может так и должно быть?
Однако при работе и под ассемблером и под адурино-IDE в рамках разумного проблем нет. Единичные случаи повреждений (примерно 1 из 10) касается выводов "двойного назначения" - по умолчанию используемых как системные ресурсы (reset, кварц)... Детальная диагностика тестированием под ассемблером позволяет отсеять проблемные случаи. Однако - затраты времени и тренаж мозга штука в подобных случаях обыденная.
Спасибо за указанное направление. Давно хожу вокруг ассемблера.. но как то страшно исходники выглядят. За информацию по служебным пинам отдельное спасибо:) тоже попадалось.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
а почему сразу ассемблер? если для того, чтобы узнать, как контроллер работает, то скачай алгоритм билдер - практически тотже ассемблер (тот же уровень) но ИМХО в освоении проще... я бы посоветовал просто отказаться от ардуиновской надстройки и перейти на Си, а потом уже и сам поймешь в какую сторону идти. (может даже и обратно к ардуине за библиотеками...)
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Диагностику на уровне железных примитивов позволяет делать только ассемблер (уровень машинных команд). Ибо там подразумевается АБСОЛЮТНО предсказуемое исполнение заданного теста.
С другой стороны делать сложные/большого объёма программы под ассемблером ЕСТЬ ВЕИКИЙ САДОМАЗОХИЗМ (коим иногда маюсь).
Вот иногда очень надо приблизиться к уровню машинных команд... Именно ассемблер мне теперь интересен. В дуиновских библиотеках итак алгоритмы и реализации КА подглядывают, чего тут греха таить. Пока только си больше всего и использую. В дуине регистры DDRX и PORTX обычно не юзают. Так же сдается мне что на асм лучше можно реализовывать драйверы устройств.. дисплей там или ещё чего. Чтоб больше места свободного под основной код оставалось.. поправьте если ошибаюсь. Часто приходится реализовывать кон. Автоматы.
Нет, это программный запрет работы WDT. Просто, в конце прошлого года пришла партия ATmega168PAс разрешенным WDT, хотя FUSE-бит WDTON был незапрограммирован, собака работала и сбрасывала камень. DS по этому поводу блеет что-то невнятное. Пришлось программно запрещать работу собаки.
Надо отслеживать ерраты и аппноты на сайте производителя (с точностью до буковки названия и диапазона дат выпуска). Там много интересного... Только вот у АВРок определить принадлежность к конкретной подгруппе(ревизии) весьма сложно (в отличии от ПИКовых).
Спасибо.... Вон оно как получается.. блин, на асм оказывается каждый раз надо вектор прерываний и размер памяти вначале кода писать... Пока темный лес, но увидел те же регистры ddr port pin. Самое главное узнал что эти регистры имеют адреса, которые вбиты в подключаемом файле инициализации. Эти же адреса видел в даташитах на контроллер. Т.е. я уже рядом с разгадкой тайны внутреннего резистора подтяжки. Собаку запретил в проэкте теста на си, без изменений.. мучаю асм. Сверяю адреса регистров в файлах инициализации с даташитом. Интересно жуть как.
Надо отслеживать ерраты и аппноты на сайте производителя (с точностью до буковки названия и диапазона дат выпуска). Там много интересного... Только вот у АВРок определить принадлежность к конкретной подгруппе(ревизии) весьма сложно (в отличии от ПИКовых).
У мну английский хромает не пинайте сильно знаю что стыдоба...
... У мну английский хромает не пинайте сильно знаю что стыдоба...
Тогда поискать книги Евстифеева для освоения. И какой-нить переводчик а-ля СОКРАТ(или гугль онлайн) для первоисточников. Без инглиш (а в скором времени и ЧИНА) тяжко житие будеть...
СпойлерunOutputFileVerifyTask" Program Memory Usage : 344 bytes 1,0 % Full Data Memory Usage : 2 bytes 0,1 % Full Done executing task "RunOutputFileVerifyTask".
Добавлено after 15 minutes 11 seconds: уряяяяяяя!!! коректно все без внешнего резистора подтяжки!!!! АСМ Сцуко Сила Великая!!!! И я ею хочу овладеть!!! Путь Джедая вибираю одако я:)
Спойлер
Вывод- 1)косяк атмел студии! 2)китай атмеги имеют место быть:)
Завтра домой прибуду когда я, испробовать непременно придется:) асм сила светлая ещё как минимум по двум причинам.. меньше флеша занимаем, работаем быстрее-предсказуемее.. даже аврдудка почему-то шьёт быстрее.. наверное из-за разницы в размере хекс файла.
Добавлено after 52 minutes 15 seconds: На асм коде то собаку не вырубали... И все жило как положено. Планирую посмотреть io.h .. найти там адреса регистров и проверить их на соответствие дата шиту. Си надо приводить в порядок, ибо на нем мне удобнее основную программулину писать. А на асме хочу попробовать драйвера делать.. как то так. Щас в любых моих исходниках структура такая: main.c main.h железка_1.с железка_1.h железка_2.с железка_2.h В каждом хедере железок прототипы только на функции, которые вызываются из майн.с Так и планирую в дальнейшем делать. Только файлы драйверов планирую реализовать на асм. Правдо с ним для начала надо разобраться.. и ещё пока не представляю как код си общается с кодом асм..
Ассемблер "в чистом виде" и ассемблер под Си (ассемблерные вставки) весьма в "мелочах" отличаются! (смотри документацию применяемого компилятора Си по правилам и правописанию вставок на ассемблере!) Иногда настолько, что способны весьма сильно настроение подпортить.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 50
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения