Возник вопрос по задаче "Моргаем светодиодом" - суть непоняти: по описанию из задачи светодиод садится одной ногой на ногу МК, другой через резистор на ногу VCC, а почему не на GND??? Как я понял когда в порту на нужной ноге установлен 0, то на соответствующую ногу подается напряжение выше погога НЛУ (т.е. более 60% от питания МК), когда установлена 1, то ничего не подается... воттут-то и не понятно, т.к. при установленом 0 на нужном пине на светодод подастся + с двух сторон, как же это тогда работает? или схема обратная, когда на ногу ставися 1, то на светодиод подается GND (-) и тогда он работает - так? И еще непонятно с осцилографом в VMLAB - когда на ноге установлено 0, то показывается низкий уровень сигнала, соответственно когда 1, то высокий, т.е. там ориентир логическое значение или напряжение на входе\выходе?
d@vinchi писал(а):Как я понял когда в порту на нужной ноге установлен 0, то на соответствующую ногу подается напряжение выше погога НЛУ (т.е. более 60% от питания МК), когда установлена 1, то ничего не подается...
Неправильно понял. Если на ноге установлен ноль, значит уровень близкий к GND, а если единица, то близкий к VCC. К чему подключать светодиод - пофиг, можно к плюсу, можно к земле, всё равно мигать будет.
Добавлено спустя 42 секунды: Осцилограф правильно показывает
- Этот человек - не человек! это робот! - Как? уже делают?! - Делают!!!
Тогда как понять близкий к нулю? для построения цепи на ноге должно быть либо GND, либо VCC, а тут получается нечто среднее - ну не понятно же!!! Думаю МК все-таки устроен такм образом, что при 0 на ногу подается VCC, а при 1 однозначно GND... И вообще странно, логически "единица" должна быть признаком сигнала на ноге...
d@vinchi писал(а):Думаю МК все-таки устроен такм образом, что при 0 на ногу подается VCC, а при 1 однозначно GND...
Думать в таких случаях вредно... Читать даташит не пробовали? И вообще непонятно, с какого перепугу вы так думаете. Выдаете ноль - на ноге получается ноль - то есть земля - то есть GND. Выдаете елиницу - на ноге получается единица - то есть питание - то есть VCC.
d@vinchi писал(а):Тогда как понять близкий к нулю?
Не рискнул написать "ноль", что-бы теоретиков не нервировать Полного нуля нет, потому как не реле в МК на выводе стоит, а транзистор, пусть и полевой с минимальным сопротивлением.
- Этот человек - не человек! это робот! - Как? уже делают?! - Делают!!!
Думать в таких случаях вредно... Читать даташит не пробовали?
Не подумайте что я не читал, просто действительно непонятно сходу, точнее не однозначно написано... понятно конечто, что для тех кто уже давно этим занимается это не ворос...
И вообще непонятно, с какого перепугу вы так думаете. Выдаете ноль - на ноге получается ноль - то есть земля - то есть GND. Выдаете елиницу - на ноге получается единица - то есть питание - то есть VCC.
да, действительно... сейчас еще раз прочитал вдумчиво и всевстало на свои места - СПАСИБО! В итоге уже сделал нужный мне девайс - РАБОТАЕТ!!! Только при отключенном БП и подключенном программаторе продолает работать, неужели резисторы слабые?
d@vinchi писал(а):Только при отключенном БП и подключенном программаторе продолает работать, неужели резисторы слабые?
Вы верите в чудеса? Нет? Если питания нет, а девайс работает - значит питание есть. Называется такое питание паразитным. Каждая нога контролера имеет диодные параллельные ограничители. И если на какую-то ножку приходит сигнал логической единицы - через эти диоды контролер и запитывается. Режим этот вредный в большинстве случаев, но кое-где позволяет экономить провода. Так по одному проводу подают и питание, и связь организуют. Это так и называется: 1 - Wire с паразитным питанием.
Установкой диодов 4148 на RESET, MOSI, SCK решит проблему паразитного питания? Для уравнивания потенциалов программатора и МК земли надо первыми соединять на всех типах программаторов (COM, USB)?
Похоже мы не совсем понимаем друг друга. Если программатор запитан от программируемой платы, то при отключении питания питания нет ВООБЩЕ. Никакого. Если программатор запитан от отдельного источника питания (например от компьютера) и после завершения программирования на его программируемых выводах есть логическая единица - будет паразитное питание. Это не касается ноги ресет, поскольку в контроллере нет у этой ноги диода к плюсу (потому что в режиме высоковольтного программирования на эту ногу подают 12В). Если программатор переводит свои выводы после программирования в третье состояние - паразитного питания не будет.
Но я не понимаю, в чем проблема. Ну запитывается схема через программатор, и что? Не выключайте питание основное и будет счастье. Цель то - зашить прогу и убрать программатор до следующего раза.
d@vinchi писал(а):Тогда как понять близкий к нулю? для построения цепи на ноге должно быть либо GND, либо VCC, а тут получается нечто среднее - ну не понятно же!!!
Поэтому и есть 2-я и 3-я страница курса где растолковано что такое "1" и "0" и сколько это в вольтах - http://proavr.narod.ru/03.htm
Di Halt клевый дядька. Видео его радуют, а уж про ЛУТ все по три раза пересмотрел.
Мой волшебник это я сам. Всю архитектуру программы придумал лично, а ребята помогли воплотить её. Я бы и сам мог написать, но лень учить язык и его конструкции.