Быстрые: FIO0DIR, FIO0SET, FIO0CLR и т.д.
Унаследованные: IO0DIR, IO0SET, IO0CLR.
Ну так вот, если я пытаюсь управлять P0.26 через быстрые регистры:
CODE
ClrBit(PINSEL1,20);ClrBit(PINSEL1,21); // Назначаем пину функцию GPIO
SetBit(FIO0DIR,26); // кофигурим на выход
if(GetBit(FIO0SET,26)) // "втягиваем" или "вытягиваем" динамик
SetBit(FIO0CLR,26);
else
SetBit(FIO0SET,26);
А если делаем то же самое, через унаследованные :
CODE
ClrBit(PINSEL1,20);ClrBit(PINSEL1,21); // Назначаем пину функцию GPIO
SetBit(IO0DIR,26); // кофигурим на выход
if(GetBit(IO0SET,26)) // "втягиваем" или "вытягиваем" динамик
SetBit(IO0CLR,26);
else
SetBit(IO0SET,26);
Правильность адресов регистров проверял несколько раз.
На пинах P2.0 - P2.7 прекрасно получилось мигать светодиодами, а там только быстрые регистры.
Могу сделать только один вывод - глюк микроконтроллера, вот только в ERRATA (2006 Nov 16) его нету. Может ли кто-то подтвердить или опровергнуть мой вывод?