void PMP_write(u16 value) { if (_pmp_width == PMP_MODE_16BIT) { PMP_wait(); // wait for PMP to be available PMDIN1L = low8(value); PMP_wait(); // wait for PMP to be available PMDIN1H = high8(value); } else { PMP_wait(); // wait for PMP to be available PMDIN1L = low8(value); } }
u16 PMP_read() { u16 dummy; dummy = PMDIN; // init read cycle, dummy read PMP_wait(); // wait for PMP to be available return (PMDIN); }
u16 PMP_read() { u16 dummy; if (_pmp_width == PMP_MODE_16BIT) { PMP_wait(); // wait for PMP to be available dummy = PMDIN1L; // init read cycle, dummy read PMP_wait(); // wait for PMP to be available return (make16(PMDIN1L, PMDIN1H)); } else { PMP_wait(); // wait for PMP to be available dummy = PMDIN1L; // dummy read PMP_wait(); // wait for PMP to be available return (PMDIN1L); // real read } }
void PMP_sendAddress(u16 addr) { PMP_wait(); // wait for PMP to be available PMADDRH = high8(addr); PMADDRL = low8(addr); }
void PMP_clrAddress(u16 addr) { PMP_wait(); // wait for PMP to be available PMADDRCLR = addr; }
void PMP_setAddress(u16 addr) { PMP_wait(); // wait for PMP to be available PMADDRSET = addr; }