RD16 бит находится внутри T1CON байт / регистр.Заголовок xc.h
определяет его как элемент битового поля внутри структуры T1CONbits, как это взято из здесь :
extern volatile near union {
struct {
unsigned TMR1ON:1;
unsigned TMR1CS:1;
unsigned T1SYNC:1;
unsigned T1OSCEN:1;
unsigned T1CKPS0:1;
unsigned T1CKPS1:1;
unsigned T1RUN:1;
unsigned RD16:1;
};
struct {
unsigned :2;
unsigned NOT_T1SYNC:1;
};
} T1CONbits;
Вы должны использовать его следующим образом:
T1CONbits.RD16 = 1;
как и все остальные биты внутри любого регистра на устройствах PIC.Осмотрите заголовок p18f4500.h , чтобы узнать имена всех регистров.
PS.В любом случае, я хотел бы добавить, что если вы используете PIC18 для нестандартного проекта, использующего бесплатный компилятор xc8 или sdcc, не делайте этого, поместите все свои устройства Pic в корзину и покупайте дешевле, быстрее, лучше и прощеУстройства STM32.Если вы не используете платный компилятор xc8 или не работаете над проектом, в котором обязательны PIC, не тратьте свое время.