SeregaT писал(а):...Получается, что один порт надо полностью на выход, а другой частично (пока не понял, как на C открыть частично...)...
Запустите автоматический генератор программного кода и на закладке "Ports" укажите какие линии порта должны работать на ввод и какие на вывод. Он Вам сгенерит строчки на "C", которые инициализируют порты.
SeregaT писал(а):...Ждёт сигнала с PORTB.1...
Вы ждёте сигнал с выхода порта или ждёте, когда на ногу микроконтроллера придёт сигнал извне? Это две большие разницы. Чтобы смотреть, что на ноге, надо использовать PINB.1
Код: Выделить всё
while (1)
{
PORTD.0=1;
// ждём лог. 1 на ноге
while (!PINB.1);
// Дождались...
PORTD.1=1;
// Задержка 1 сек
delay_ms(1000);
PORTD.0=0;
// Задержка 1 сек
delay_ms(1000);
// На начало программы
};
Обратите внимание на точку с запятой в конце строчки while (!PINB.1);
Если ; пропустить, то компилятор не сообщит об ошибке, но программа будет работать неправильно.
SeregaT писал(а):...при нажатии на концевик (0 на reset), программа начнётся сначала, но для этого нужно убрать 0 с вывода reset....
С этим вообще не понятно. Напишите подробнее, что Вы хотие от этого несчастного концевика.