|
Proteus 6.3 SP1 Ведущий - PIC18F248, ведомый PIC16F72.
(Прошу не пинать, симулировать в протеусе приходится по необходимости - живого PIC16F72 под руками пока нет)
Все как обычно - ведущий формирует условие Старт передает адрес ведомого к которому хочет обратиться.
Если адрес переданный ведущим совпал с тем что уведомого в SSPADD
все нормально.
Но вот если передать адрес не совпадающий с SSPADD возникает проблема.
Прерывание по SSPIF разумеется при этом не рождается, SSPBUF остается заполненным (не совпавшим адресом) и больше ничего принимать не хочет, до тех пор пока не сбросить бит заполнения BF в регистре SSPSTAT.
Вопрос: так и должно быть или это глюки протеуса?
Напоминаю что в PIC16F72 не полный SSP, а урезанный, так называемый базовый - BSSP.
E-mail: info@telesys.ru