Перейти к содержанию

Starichok

Moderators
  • Постов

    11 777
  • Зарегистрирован

  • Посещение

  • Победитель дней

    7

Starichok стал победителем дня 13 июня 2019

Starichok имел наиболее популярный контент!

Информация о Starichok

  • День рождения 21.02.1951

Информация

  • Пол
    Мужчина
  • Город
    г. Озерск, Челябинская обл.

Электроника

  • Стаж в электронике
    Более 20 лет
  • Сфера радиоэлектроники
    Питание
  • Оборудование
    Осциллограф, мультиметр, паяльник

Посетители профиля

89 058 просмотров профиля

Достижения Starichok

Мастер

Мастер (14/14)

  • 10 постов на форуме
  • Пост-машина Редкий
  • Год на форуме
  • 10 лет  на форуме
  • Преданный

Последние значки

2,8т

Репутация

  1. я не знаю, как пользоваться GPIOR. в АТмега8 такого регистра нет. я посмотрел даташит на АТмега88, там их 3 штуки - GPIOR0, GPIOR1, GPIOR2. а как ими пользоваться там не написано.
  2. дело даже не в гибкости, а в гораздо меньшем размере. ну, теперь ты знаешь про "собаку", и хелп можно не переписывать. а если тебе это хочется видеть в хелпе, то сам можешь дописать в файл помощи. а программа открывает этот файл и показывает его. и там разница не только в доступе к GPIOR, а еще ко всем регистрам USART, и вроде, еще к каким-то, которые используются в программе. если в АТмега8 все регистры доступны по in и out, то в АТмега88 некоторым регистрам следует применять lds и sts.
  3. часто в целом числе отделяют по 3 разряда. а если там написано MHz, то для меня это равно 1243134,6 МГц.
  4. когда я тестировал последние изменения (проверку ответа от МК), я сам выдергивал конвертер из гнезда. после этого при попытке заново установить соединение сначала мне показывало, что соединения нет, а со второй попытки показывало, что соединение установилось. получается, что комп принял сначала что-то другое, а со второго раза принял правильно. видимо, что-то подобное происходило и у тебя. по WDT. следует отключить его фьюз. скорее всего, со включенным фьюзом там после подачи питания получается маленькое время срабатывания "собаки". мне как-то лень переделывать кучу загрузчиков (8 штук) для разных МК, чтобы программно запретить "собаку". то есть ты сравнительно недавно занялся загрузчиком на АТмега 88? я в начале темы рассказал о разнице в длине загрузчика на ассемблере и на Си. получилось более, чем в 3,5 раза. разница между АТмега8 и АТмега88 - в доступе к некоторым регистрам. мне пришлось немного помучиться при переделке своего последовательного программатора с АТмега8 на АТмега88.
  5. интересно, сколько там МГц с тремя точками внутри числа? как такую фуету правильно прочитать?
  6. ну, я так понял, что он написал, и работало.
  7. а у меня к тебе возник вопрос. если ты сам писал загрузчик, то чем тебя заинтересовал мой загрузчик?
  8. выложил новые версии загрузчиков, архивы BootLoader15.zip и BootLoader Full20.zip. в оба загрузчика добавлены проверки ответа от МК после каждой команды. это понадобилось для своевременного обнаружения потери связи между МК и компьютером, а не ждать пока программа пытается впустую закончить выбранную операцию. в "легкой" версии я верификацию не делаю. если при записи на каждую команду пришел ответ от МК, я считаю, что всё сделано правильно. в полной версии есть верификация прочитанного отдельной кнопкой.
  9. у меня уже сгенерировано несколько загрузчиков под разные МК. из старых МК я не сделал только для АТмега16 и АТмега32. сейчас имеется 4 вида полных загрузчиков: АТмега8, АТмега88, АТмега168, АТмега328. наличие в конце разных буковок значения не имеет. а для неполных загрузчиков тип МК вообще не нужен. не нужна никакая кнопка в программе для генерации загрузчика. нет никаких проблем, чтобы в исходниках загрузчиков сразу прописать название МК, а в комповой программе добавить команду прочитать название МК. у меня структура функций записи и чтения построены так: при записи: 1а. команда принять пакет данных. 1б. передача в МК пакета, 128 байт. 1в. прием ответа от МК. 2а. команда задания начального адреса. 2б. прием ответа от МК. 3а. команда записать принятый блок данных. 3б. прием ответа от МК. при чтении: 1а. команда задания начального адреса. 1б. прием ответа от МК. 2а. команда прочитать блок данных, 128 байт. 2б. прием ответа от МК. 3а. команда передать в комп блок данных, 128 байт. 3б. прием блока данных, 128 байт. под приемом ответа от МК везде имеется в виду, когда МК передает принятую команду.
  10. я вернулся 22 апреля. существенное влияние времени ожидания появляется только в полной версии программы, когда нужно при чтении памяти получить пакет данных (у меня 128 байт). если прием не идет, то на 128 байт получается большое время ожидания. а на весь объем чтения получится вообще до хрена секунд. а при записи программа передает пакеты без задержки. но там все равно появляется время ожидания, так как после выполнения операции МК дает ответ. у меня команда состоит из 4 байт, и МК в ответ отправляет эти же 4 байта команды. мне было просто лень делать на каждую команду сравнение ответа с отправленной командой. теперь я собираюсь сделать такую проверку для каждой команды. у меня, вот, стал плохой контакт конвертера в гнезде ноута, и я уже несколько раз наблюдал у себя разрыв соединения. но без контроля ответа приходилось долго ждать окончания операции. а с контролем ответа выполнение операции прервется сразу, если ответ не поступит. по поводу сигнатуры - такая возможность есть не у всех МК. поэтому чтение сигнатуры для определения типа МК я сделать не могу. у всех старых нет и у АТмега48/88/168 тоже нет. а у АТмега48Р/88Р/168Р и у АТмега48РА/88РА/168РА такая возможность уже есть. и у АТмега328/328Р тоже есть.
  11. схема не для АТмега32. нужно смотреть даташит, и там смотреть куда подключаются все сигналы.
  12. если представить входное напряжение на конденсаторе С2, как двухполярное с амплитудой Uвх/2, а этот выпрямитель будет самым натуральным удвоителем. а так, в приведенной тобой схеме, это можно назвать "повторителем" с потерей напряжения на двух диодах.
  13. я однажды тоже делал такой же выпрямитель для получения -3 Вольта для отрицательного питания ОУ.
  14. это индуктивность рассеяния, разряжаясь, "переворачивает" напряжение.
×
×
  • Создать...