Описание: ФТ-1К и L-53F3C |
Поиск в теме | Версия для печати |
Xummppa |
Отправлено: 19 Февраля, 2010 - 17:41:12
|
Лейтенант

Сообщений всего: 28
Дата рег-ции: Февр. 2010
|
Все было замечательно, все работало, но вдруг решил я модифицировать прошивку (убрать постоянно горение диодов в ожидании срабатывания датчика) и все, МК больше не принимает сигнал с портов (кроме нулевых), возвращал старую прошивку, результата нет.
вот код:
PORTC=0xFF; //+ на порт С
DDRC=0x00; // вход
PORTD=0xFF; //+ на порт Д
DDRD=0x00; // вход
while (1)
{
if (!(PIND & (1<<PIND.2))) // проверяем сигнал на 2-ой ноге порта Д
{
// мигаем
PORTB=0xFF;
delay_ms(100);
PORTB=0x00;
delay_ms(100);
}
if (!(PINC & (1<<PINC.3))) // проверяем сигнал на 3-ей ноге порта С
{
// мигаем
PORTA=0xFF;
delay_ms(100);
PORTA=0x00;
delay_ms(100);
}
};
Срабатывание идет только при заземлении PORTD.0 или PORTC.0. Кстати, при срабатывании двух датчиков у меня общая скорость мигания всегда была ниже в два раза, это нормально?
(Добавление)
Припаял датчики к нулевым портам, ответа нет, замыкаю те, куда были припаяны до этого (которые в прошивке) - все работает. Что-то я ничего не пойму.
(Добавление)
Вернул датчики на ноги (что в прошивке) и опять реакция только на нулевые.
(Добавление)
Вынул из гнезд ик-приемники, срабатывать стало на первые порты. Ох.(Отредактировано автором: 19 Февраля, 2010 - 19:56:12) |
|
|
nest  |
Отправлено: 19 Февраля, 2010 - 20:27:14
|

Администратор

Сообщений всего: 4866
Дата рег-ции: Сент. 2009
|
Xummppa, нет такого "+ на порт С". есть такое: "подтянуть portC" (означает подтянуть к плюсу).
Вы не соединяете порт С с плюсом. вы его подтягиваете к плюсу.
Лучше всегда указывать, к чему подтягиваете/притягиваете, т.к. притягивать можно и к минусу. Тут с русским языком не совсем однозначно :)
либо на-английский манер:
Pull-UP = подтянуть к плюсу, т.е. НАВЕРХ - означает установить там логическую единицу.
Pull-DOWN = притянуть к минусу, т.е. ВНИЗ - означает установить там логический нуль.
дальше:
"проверяем сигнал на 2-ой ноге порта Д" - не пойдёт. Что проверяем, сигнал ? какой сигнал? проверять мы тут можем либо единицу, либо нуль (низкий лог.уровень или высокий).
ещё:
Если вы мигаете на PORTA или PORTB, то вы его должны сконфигурировать на выход путём записи "1" в биты регистров DDRx этих портов.
(Добавление)
Xummppa пишет:при срабатывании двух датчиков у меня общая скорость мигания всегда была ниже в два раза, это нормально? если проверка и мигание исполняется последовательно, как у вас, то так нормально.
В остальном - ищите ошибку, где то у вас нессответствует прошивка и схема друг с другом :) |
|
|
|
Поиск в теме | Версия для печати |
Страниц (5): « 1 2 [3] 4 5 » |
« Делаем роботов » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
  |
|
|
|