имеем порт J, в codevision работать с ним как PORTJ.n нельзя, поэтому для установки бита N в единицу не трогая другие биты делаем так: PORTJ = PORTJ | (1<<N); или короче PORTJ |= (1<<N);
установка бита N в ноль тогда будет: PORTJ = PORTJ & ~(1 << N);
Тема перенесена. Для факов есть спецраздел. <Digit>
< avr123 > Как считывать и использовать значения отдельных битов смотрите в примерах на страничке "Си для МК" http://avr123.nm.ru/05a.htm
Манипуляции отдельными битами регистров и переменных.
Надеюсь вы уже поняли - МК обычно должен "дергать ножками" - создавать на них то "1" то "0", то считывать, что там на них есть. И обычно не всеми сразу, а то одной то другой !
Значит Вы должны уметь эффективно управлять не целым портом, регистром, а отдельными битами!
Вот моя подборка вариантов такого управления для разных компиляторов!
ПРОВЕРЕНО в компиляторах IAR, CVAVR, ImageCraft ICC