Пытаюсь запустить I2C Slave на PIC16F1823 взяв за основу обкатанный на старых камнях 16 серии код. И вообще не могу понять что происходит.
То вдруг прочитав после получения SLA+R адрес из SSPBUF у меня оно при попытке положить в SSPBUF первый байт данных для передачи мастеру циклится по WCOL (с кем коллизия то может быть? BF не стоит, шина в клок стретче). То вдруг вместо первого байта данных, который я положил в SSPBUF мастер выгребает сдвинутый на 1 бит влево адрес слейва...
Ни разу не удалось увидеть чтобы после NACK со стороны мастера выставился бит ACKSTAT в SSP1CON2.. Если судить по нему у меня там вечный ACK...
Вообще, хоть кто то с этими Enhanced Core MidRange пиками возился плотно? В Errata вроде ничего про MSSP нет плохого... Но вот что то оно работать не желает как надо. Раздел даташита про MSSP "новой ревизии" зачитан до дыр... Просветлением и не пахнет.