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

Starichok

Moderators
  • Постов

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

  • Посещение

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

    7

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

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

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

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

Информация

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

Электроника

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

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

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

Достижения Starichok

Мастер

Мастер (14/14)

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

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

2,8т

Репутация

  1. повторю: у каждого свои приемы и привычки программирования. а зачем - за тем, что вывод идет СТРОГО с равными промежутками времени. и динамическая индикация - это не медленный процесс. а вот с экраном 1602 у меня нет привязки к таймеру - когда подошло время вывести на экран, тогда и вывожу. и клавиатура у меня "медленная", но обработка 3 или 4 раза в секунду и СТРОГО через равные промежутки времени по программному таймеру. я учился, как делать прибор РЕАЛЬНОГО ВРЕМЕНИ на ассемблере, на текстах профессиональных программистов. а твой хаос с отложенными обработками - когда дойдет очередь, тогда и обработаю - меня не устраивает категорически. у меня везде тоже только одно прерывание для аппаратного таймера. и я в этом прерывании делаю ровно столько, сколько мне нужно. остальное делаю по программным таймерам в основном цикле. предлагаю обсуждение своих предпочтений на этом закончить.
  2. если тиристор стоял в первичке, то трансформатор обязан греться.
  3. понятно. но у каждого свои приемы и привычки программирования. у меня в разных проектах "разметка" времени сделана по разному, но везде привязка к реальному времени по таймеру. например, с динамической индикацией таймер работает по 2 мс, и в прерывании выводится очередной разряд индикации. потом счетчик-таймер по 10 мс (5 х 2 мс) - для тех дел, которые нужно делать почаще, интерфейс с компом, обработка кнопок и что-нибудь другое. потом счетчик-таймер по 1 секунде (100 х 10 мс) - именно для работы в реальном времени. тут может быть секундомер, если он нужен, и остальная ежесекундная работа. а есть регулируемый БП (есть моя тема на этом форуме), где таймер тикает по 1/512 секунды. и по таймеру делается 256 измерений напряжения и 256 измерений тока. то есть, 512 измерений за 1 секунду. но и там есть счетчик для "короткого" цикла для "частых" дел (по 1/64 секунды == 15,625 мс).
  4. Starichok

    Юмор

    у меня когда-то были сделаны 2 конструкции из коробков 10х5. а на картинке 6х6.
  5. картинка из даташита на АТмега32 сигналы - это то, что написано около стрелок. а PA6, PB0... и т.д. - это названия выводов (портов) МК. а если ты собрал и работает, то все сигналы ты подключил правильно.
  6. идея использования, как регистры флагов, понятна. а GPIOR1 и GPIOR2 разве нельзя использовать, как регистры флагов? у меня, как раз, используется TWI для вывода на экран 1602 через модуль I2C. но идея понятна. а в АТмега8 можно использовать флаг Т в регистре SREG. но устанавливать его после восстановления SREG перед выходом из прерывания. или коротко, как у тебя: set reti но такое можно делать, если обработка события (прерывания) может подождать. но такая отложенная обработка прерывания бывает очень редко. поэтому у меня даже в мыслях не было, чтобы отложить обработку прерывания.
  7. я не знаю, как пользоваться GPIOR. в АТмега8 такого регистра нет. я посмотрел даташит на АТмега88, там их 3 штуки - GPIOR0, GPIOR1, GPIOR2. а как ими пользоваться там не написано.
  8. дело даже не в гибкости, а в гораздо меньшем размере. ну, теперь ты знаешь про "собаку", и хелп можно не переписывать. а если тебе это хочется видеть в хелпе, то сам можешь дописать в файл помощи. а программа открывает этот файл и показывает его. и там разница не только в доступе к GPIOR, а еще ко всем регистрам USART, и вроде, еще к каким-то, которые используются в программе. если в АТмега8 все регистры доступны по in и out, то в АТмега88 некоторым регистрам следует применять lds и sts.
  9. часто в целом числе отделяют по 3 разряда. а если там написано MHz, то для меня это равно 1243134,6 МГц.
  10. когда я тестировал последние изменения (проверку ответа от МК), я сам выдергивал конвертер из гнезда. после этого при попытке заново установить соединение сначала мне показывало, что соединения нет, а со второй попытки показывало, что соединение установилось. получается, что комп принял сначала что-то другое, а со второго раза принял правильно. видимо, что-то подобное происходило и у тебя. по WDT. следует отключить его фьюз. скорее всего, со включенным фьюзом там после подачи питания получается маленькое время срабатывания "собаки". мне как-то лень переделывать кучу загрузчиков (8 штук) для разных МК, чтобы программно запретить "собаку". то есть ты сравнительно недавно занялся загрузчиком на АТмега 88? я в начале темы рассказал о разнице в длине загрузчика на ассемблере и на Си. получилось более, чем в 3,5 раза. разница между АТмега8 и АТмега88 - в доступе к некоторым регистрам. мне пришлось немного помучиться при переделке своего последовательного программатора с АТмега8 на АТмега88.
  11. интересно, сколько там МГц с тремя точками внутри числа? как такую фуету правильно прочитать?
  12. ну, я так понял, что он написал, и работало.
×
×
  • Создать...