А как можно реализовать такую идейку.
Надо используя 2 порта МК пустить их через мультиплексор. Один порт МК должен работать как вход а второй как выход (с высоким уровнем).
Принцип такой: Пускаем на первую ногу мультиплексора (который как выход работает) высокоуровневый сигнал. Затем считываем состояние всех входов второго мультиплексора (который работает как вход) поочерёдно. Затем пускаем на вторую ногу мультиплексора (который как выход работает) высокоуровневый сигнал. И снова считываем состояние всех входов второго мультиплексора (который работает как вход) поочерёдно (и так далее, а затем процесс повторяется.)
Код
for (mult=0;mult<=5;mult++){
PORTB &= 0b11100011;
PORTB |= mult << 2;
_delay_ms(1);
for(multt=0;multt<=5;multt++){
PORTB &= 0b11100011;
PORTB |= multt << 2;
_delay_ms(1);
// здесь сам процесс обработки сигнала, он не суть важен
};
}
Вот то что я набросал, но только не могу сделать так, чтоб менялись ноги МК и мультиплексор тогда, когда переходим ко второму "FOR".
Сообщение отредактировал IgorKossak - Apr 1 2012, 16:53
Причина редактирования: [code], [codebox] для длинного кода