Size: a a a

2020 May 29

DB

Dima B in Embedded Group
Режим RXONLY оказался бессмысленным, в том виде, как его ST реализовал.
источник

u

uis in Embedded Group
Dima B
не поможет. Если останавливать SPI вручную - где гарантия, что я сделаю это ровно на границе байта, а не посередине его?
По BR посчитать такты и задержка nop
источник

A

Alexander in Embedded Group
Dima B
не поможет. Если останавливать SPI вручную - где гарантия, что я сделаю это ровно на границе байта, а не посередине его?
Даже если остановишь посередине - вычитаешь из регистра по завершению.
источник

DB

Dima B in Embedded Group
Alexander
Даже если остановишь посередине - вычитаешь из регистра по завершению.
это как, руками clock подергать?
источник

DB

Dima B in Embedded Group
если, скажем я его остановил после пяти бит последнего байта?
источник

DB

Dima B in Embedded Group
еще три раза дернуть?
источник

DB

Dima B in Embedded Group
uis
По BR посчитать такты и задержка nop
ага, еще и прерывания запретить на всякий случай, да?
источник

A

Alexander in Embedded Group
Dima B
если, скажем я его остановил после пяти бит последнего байта?
У SPI транзакции кратны размеру слова.

Если ты остановил на 5-м бите, но дойдет еще 3 - у тебя они отправятся из буфера.
источник

DB

Dima B in Embedded Group
не понял.. хочешь сказать, что даже если остановить SPI, то clock будет тикать до конца байта?
источник

DB

Dima B in Embedded Group
что-то я сомневаюсь..
источник

DB

Dima B in Embedded Group
Все мануалы рекомендуют проверять BSY флаг, и только потом уже останавливать
источник

A

Alexander in Embedded Group
Dima B
не понял.. хочешь сказать, что даже если остановить SPI, то clock будет тикать до конца байта?
Ну так правильно.
511 байт отщелкнулось.
По DMA Transfer complete включаешь прерывание SPI.
По последнему завершению отправленному байту - останавливаешь SPI.
источник

DB

Dima B in Embedded Group
пока сработает обработчик прерывания - clock успеет еще несколько битов передать
источник

DB

Dima B in Embedded Group
и это если не случится еще более высокоприоритетного прерывания
источник

DB

Dima B in Embedded Group
ну нафиг, не имеет смысла с этим возиться
источник

DB

Dima B in Embedded Group
RXONLY не работает, забыть как кошмарный сон
источник

DB

Dima B in Embedded Group
сделаю с двумя DMA каналами
источник

СС

Сиие Сууие in Embedded Group
Dima B
RXONLY не работает, забыть как кошмарный сон
А я как раз думаю такое сделать на своем АЦП чтоб до ума довести
источник

СС

Сиие Сууие in Embedded Group
Dima B
RXONLY не работает, забыть как кошмарный сон
А у спиай нет никакого магического регистра чтоб он отправлял не по "полный буфер" а наоборот, буфер пуст
источник

DB

Dima B in Embedded Group
Сиие Сууие
А я как раз думаю такое сделать на своем АЦП чтоб до ума довести
с АЦП можно себе позволить пару байтов потерять, ничего страшного
источник