Size: a a a

2020 May 29

I

Ivan in Embedded Group
Хм, странно, конечно, но мб, так и задумано, это же ST:)
источник

DB

Dima B in Embedded Group
похоже, этот RXONLY режим просто не имеет смысла
источник

DB

Dima B in Embedded Group
если нет способа вовремя остановить clock
источник

EP

Evgeniy Partizan in Embedded Group
Как нет)
источник

EP

Evgeniy Partizan in Embedded Group
А если неизвесно заранее сколько байт данных должно прийти?)
источник

DB

Dima B in Embedded Group
тогда и DMA нельзя запускать, надо дергать байт за байтом
источник

EP

Evgeniy Partizan in Embedded Group
с чего бы нельзя? можно заранее большой буфер выделить
источник

EP

Evgeniy Partizan in Embedded Group
или перезаписывать дма буфер в цикле
источник

DB

Dima B in Embedded Group
это уже другая задача 😊 в моем случае я точно знаю, сколько байтов я хочу получить
источник

EP

Evgeniy Partizan in Embedded Group
это общий случай и под него походу и сделали работу)
источник

DB

Dima B in Embedded Group
странный какой-то общий случай.. иногда можно от устройства запросить больше байтов, чем оно готово дать, иногда нет
источник

DB

Dima B in Embedded Group
довольно частный случай, я бы сказал :)
источник

ДВ

Дмитрий В in Embedded Group
Можно ещё отслеживать счётчик пакетов ДМА и принимать решение о приеме пакета по тайм-аут у
источник

ДВ

Дмитрий В in Embedded Group
Ну а буфер сделать с большим запасом
источник

DB

Dima B in Embedded Group
да, но как мне это поможет остановить SPI clock после приема нужного количества байт?
источник

A

Alexander in Embedded Group
Dima B
да, но как мне это поможет остановить SPI clock после приема нужного количества байт?
У пакетов SPI есть заголовок?
источник

DB

Dima B in Embedded Group
нет
источник

DB

Dima B in Embedded Group
но если бы и был - что это меняет?
источник

A

Alexander in Embedded Group
Dima B
но если бы и был - что это меняет?
Можно по заголовку выделять пакет, а dma пусть молотит постоянно.
источник

A

Alexander in Embedded Group
По аналогии со SLIP-кодирлвкой.
источник