[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Почитал я архивы нашей конфы, но ответов на свой вопрос я не нашел.
Необходимо связать два процессора по SPI. Одно устройство Slave ( аппаратный, буфер на 2 байта). Выделяется дополнительная линия SlaveReady это линия готовности Slave к приему данных.
Дело в том, что после отправки мастером байта, слэйв должен убрать готовность и установить готовность вновь когда байт будет считан. Это правильно, или есть другие варианты?
Теперь проблема как убрать готовность. Готовность должна быть убрана сразу после прихода 8-го бита по SPI. После приема 8-го бита выставляется флаг прерывания, но мне от этого не легче, так как обработать этот флаг я сразу не могу.(одноуровневое прерывание)
Поэтому решил поставить лишний корпус с триггером. Сигнал CS сбрасывает READY, а SLAVE после чтения байта устанавливает триггер.
Если у кого есть другие варианты прошу высказываться.
Можно конечно применить процессор с двухуровневым прерыванием, но это более дорогой например PIC18C242-5.5$
Состав модуля, если кому необходимо. PIC16C63(SPI+USART-3.5$ )+триггер+FM25160(EEPROM+ОЗУ в одном флаконе – 1.16$)
С уважением, Иван
E-mail: info@telesys.ru