Цитата(sergey sva @ Jan 4 2014, 13:10)

Сделаю так, как подсказал mempfis_ как то эстетичней выглядит. ))
Вы это серьезно? Завести переменную чтобы хранить в ней значение другой переменной (бита порта) вы называете "эстетичнее"? У вас в Индии родственников нет случайно?
Я вот открыл user manual на LPC43xx и там английским по белому написано, что у LPC43xx есть специальный регистр для атомарного инвертирования ноги порта:
Код
GPIO1NOT = 1UL << bit;
Объясните, почему вместо чтения документации вы ищете готовые примеры сомнительного качества?
Вы бы хоть указали, какой именно у вас процессор. А то сначала упоминаете LPC43xx, а потом берете код для LPC17xx.
Цитата(mempfis_ @ Jan 4 2014, 10:24)

И разве Ваш код подойдёт для ARM, где для установки/сброса пина используются разные регистры?
Надо внимательно читать документацию: обычно там есть не только отдельные регистры для установки и сброса. Все это для ARM:
для LPC2xxx
Код
IO1PIN ^= 1UL << bit
для ADuC70xx
Код
GP1DAT ^= 1UL << (bit + 16);
для AT91SAM7
Код
AT91C_BASE_PIOA->PIO_ODSR ^= 1UL << bit;
для LPC11xx, LPC13xx:
Код
LPC_GPIO1->MASKED_ACCESS[1UL << bit] ^= 1UL << bit;
с LPC17хx не приходилось сталкиваться, но должно работать так:
Код
FIO1PIN ^= 1UL << bit;