Подскажите как быть.
Для работы с SPI использую PDC и прерывание окончания передачи/приёма буфера (ENDRX/ENDTX) Сделал "ручное" дёрганье CS-ами. Выяснилось что прерывание ENDTX происходит до того как реально окончится передача SPI и CS поднимается до того как вылетят последние битики. Эта проблема решилась переключением CS-а на аппаратное управление.
Однако если идут две посылки по разным девайсам, последний байт первой посылки доходит не полностью. Явно идёт запуск новой посылки до окончания предыдущей.
Как разрулить эту ситуацию? Я пока вижу один вариант, все посылки переделать в чтение и ждать прерывания ENDRX.
|