ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
30 апреля
1394675 Топик полностью
VladislavS. (20.01.2024 13:05, просмотров: 112) ответил Nikolay_Po на Отлично, спасбо. Открыл для себя заново. По идее, пойдёт для того, чтобы расставлять значения полей реистров МК без кучи разрозненных обращений и без явной подготовки значения регистра в буфере или в константе. Десяток лет назад, кажись, пробовал. Но оно в старом XC8, вроде, не рабоатло.
Регистры это volatile сущности, с ними так не работает. Разве что для копии какого-нибудь регистра статуса с кучей разношерстных полей. Один раз считываем во временную переменную и уже с её полями работаем. Результат хороший, но много одноразовой кропотливой писанины. Не стоит оно того. Вот, например, пробовал для usb-шного региста. 
GRXSTSP grxstsp = TUSB::otg_global()->GRXSTSP;
switch(grxstsp.pktsts)
{
  case GRXSTSP_PKTSTS::PKTSTS_SETUP_UPDT:
    break;
}