Сбой в петле Master-Slave по SPI - методы восстановления (PIC)

Aug 10, 2004 3 Replies

Hi Rifkat, hope you are having a nice day!

10 Авг 04, Rifkat Abdulin wrote to All:

RA> В PIC (18F8720) сдвиговый регистр SSPSR недоступен из камня - то есть RA> счетчик битов из проги вроде бы не сбрасывается. Можно ли восстановить RA> ситуацию выключением и новым включением модуля MSSP?

Да.

WBR, AVB

Столкнулся с интересной ситуацией - заказчик выдал ТЗ - конфигурировать устройство консолью по SPI. Включение "горячее" - на ходу. Но - как только делаю такое подключение, Slave по CLK вылавливает синроимпульс и его сдвиговый регистр сдвигается на 1 бит. В PIC (18F8720) сдвиговый регистр SSPSR недоступен из камня - то есть счетчик битов из проги вроде бы не сбрасывается. Можно ли восстановить ситуацию выключением и новым включением модуля MSSP? Пока я лечу тупым RESETом от внешнего WDT.


Hello,Rifkat !

RA> его сдвиговый регистр сдвигается на 1 бит. В PIC (18F8720) сдвиговый RA> регистр SSPSR недоступен из камня - то есть счетчик битов из проги RA> вроде бы не сбрасывается.

Я не из ПИКов, но аналогичный случай был у меня на AVR-ах. Там я из ADuC812 гонял в Мегу103 по SPI. Где она ловила этот лишний импульс - хез но он продолжал ползать, портя все последующее. Я после принятия сообщения передергивал Мегу в мастер и обратно в слейв. Помогало. Может, и тебе пригодится. Потом, правда, выбросили ADuC812 вообще, и вопрос отпал сам.

WBR Eugene

Hello, Rifkat Abdulin !

В PIC16 я именно так и переинициализировал SPI при ошибках.

С уважением, Дима Орлов.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required