Скрипач, пророк (24.07.2015 11:26 - 19:54, просмотров: 395) ответил Bill на Ну, так, опять же, у вас все равно имеется привязка к конкретным портам.
Вы не поняли :) Есть плата, у которой есть "свободно-программируемые" входы-выходы.
Они просто пронумерованы 0-15.
Когда пишем прикладной код пользуемся только этим номером (даем ему имя через дефайн),
переменной IOPort (на чтение) и функциями On/Off (на запись)
Настройки ножек портов, пресечение попыток
записать "не туда" отсекаются в системной части.
Чтобы узнать, какие ножки настроить на выход, в системной части:
// PortD
Outs = UnPackDPins(IO_OUTS_MASK);
При этом, что характерно, в системной части нам не нужно знать (и мы не заморачиваемся) звонок это
или пиропатрон подрыва атомного реактора. :)
Все входы-выходы для прикладного кода это просто номера идущие подряд и не повторяющиеся.
Поэтому нельзя перепутать выход и вход или выходы идущие в разные регистры.
... но не любой ценой.