Цитата(_Anatoliy @ Aug 4 2018, 16:49)
2). Либо я чего-то не понял, либо совет от лукавого - я такие методы не приемлю.
Ничего от лукавого: на плате 162 мега была соединена по spi с основным контроллером и служила расширителем ком-портов.
И по такому алгоритму прогонялись буфера нескольких протоколов.
Грубо говоря, со стороны мастера spi можете представлять usart-ом, с оговоркой что для получения байта от RX нужно что-то загнать в TX:
если у Вас есть что отослать - отсылайте посылку, если нечего - шлите 0xFF, с целью анализа полученого от слейва.
1. Отсылаете буфер команды.
2. Шлете некоторое количество 0xFF для получения от слейва маркера начала.
3. При получении во время 1. или 2. маркера начала засылаете 0xFF пока не вытащите от слейва весь буфер,
если маркера не было. останавливаете обмен до следующей необходимости.
Да и еще одно предостережение - при значительной разнице в частотах мастера и слейва, нужно предусмотреть эту разницу, мне пришлось между буфером и SPDR использовать регистр.
Сообщение отредактировал aiwa - Aug 4 2018, 16:35