PORTC= 0x00;
Если "1" не подаю, и просто измеряю мультимитром то он показывает некоторое напряжение, причём 3-4 вольта, равное питанию. Подскажите в чём проблема.
Если DDRC = 0x00 и PORTC= 0x00, то на выводах порта С возникнет высокоимпедасное состояние.server021 писал(а):Если "1" не подаю, и просто измеряю мультимитром то он показывает некоторое напряжение...
Всё зависит от того, как во Вашей задумке должен работать работать этот порт: как выход или как вход?server021 писал(а):Подскажите в чём проблема.
а при чём это к "Если "1" не подаю, и просто измеряю мультимитром то он показывает некоторое напряжение, причём 3-4 вольта, равное питанию. Подскажите в чём проблема." какая связь?server021 писал(а):Задача такая, от внешнего переключателя поступает +3 или +0 в зависимости от этого atmega16 должен выполнить какие либо действия. Читаю состояние через PINC
Но у вас порт настроен на вывод.server021 писал(а):Задача такая, от внешнего переключателя поступает +3 или +0 в зависимости от этого atmega16 должен выполнить какие либо действия. Читаю состояние через PINC
server021 писал(а):DDRC = 0xff;
Можно так:server021 писал(а):Подскажите как правильно сконфигурировать, У меня C0-C5 и C7 входы с проверкой через PINC состояния, а C6 - вывод на диод
Код: Выделить всё
DDRC=0b10100000;Такие ножки желательно заземлять.server021 писал(а):ножка висит в воздухе
Кстати что за магия такая? Или вы вручную проводок прикладываете и убираете? Лучше вместо воздуха подавать логический ноль/единицу.server021 писал(а):Нет, они всегда входы. но в одном положении идут +3в, а в другом ножка висит в воздухе, может стоит в другом её заземлить?
DDRC=0b01000000; PORTС=0; а меняй только этот бит PORTС.6=0; и будет вам счастьеserver021 писал(а):Подскажите как правильно сконфигурировать, У меня C0-C5 и C7 входы с проверкой через PINC состояния, а C6 - вывод на диод
Ну я считаю эту меру избыточной, висят в воздухе, ну вроде и фиг с ними, если они всё равно не опрашиваются. Ну если планируете использовать схему в условиях сильных эл помех то может и стоит, хотя в целом может и не поможет, раз помехи сильные.Такие ножки желательно заземлять.
если вводная нога МК обслуживающая кнопку при ненажатой кнопке висит в воздухе, то на этой ноге наводится наводка обычно 50 герц, в результате на выходе PORTC получаем импульсы равные по частоте частоте наводки размахом 5 вольт, мультиметр показывает среднеквадратичное значение около 3 вольт. задача решается подтягиванием ножки к земле или к питанию через 1 ком смотря какая схема.server021 писал(а):Если "1" не подаю, и просто измеряю мультимитром то он показывает некоторое напряжение, причём 3-4 вольта
Ну они когда в воздухе висят, то могут и единичку выдать, я когда кнопку подключал, если она не нажата (т.е. 1 не подается), то почему-то контроллер видит этот пин как единичку довольно часто. Ну да, когда не опрашиваются, то и фиг с ними)alex_ писал(а):Ну я считаю эту меру избыточной, висят в воздухе, ну вроде и фиг с ними
Кнопка. Замыкает 2 контакта, один из которых идет на какой-нибудь пин, а второй к плюсу напряжения, чего тут рисовать) Обычно заземляют такие вещи, особенно для кнопки, через резистор.alex_ писал(а):Логично, наводку ловят, нарисуй ка схему как у тебя кнопки к контроллеру подключены
Тогда скажи каким ёбразом у тебя читается единица, или кнопка постоянно замкнута?Обычно заземляют такие вещи, особенно для кнопки, через резистор.
Ну единица читается с плюса напряжения, не понял к чему этот вопрос.alex_ писал(а):Тогда скажи каким ёбразом у тебя читается единица, или кнопка постоянно замкнута?