Size: a a a

2021 August 09

ED

Electronics Designer in Embedded Group
Исходя из настроек в соответствующих регистрах.
источник

ED

Electronics Designer in Embedded Group
Но есть режим, в котором можно самостоятельно генерировать все. Тогда пакетный движок отключается.
источник

КП

Крылатый Пегас... in Embedded Group
Да вы достали со своей автонастройкой. Речь не про неё.
источник

ED

Electronics Designer in Embedded Group
За раз - до 65535 байт.
источник

E

Evgen in Embedded Group
Спасибо большое за разъяснение
мне 128 байт хватит за глаза и больше.
Я себе голову изломал,  как он работает именно при передаче синхрослова,  преамбулы
источник

ED

Electronics Designer in Embedded Group
Не за что.

Смысл packet handler engine - как раз снять головную боль генерации служебных полей.
источник

ED

Electronics Designer in Embedded Group
И у него есть прерывание TX FIFO almost full.
источник

E

Evgen in Embedded Group
Спасибо большое
Не так понял документацию и думал, что там пакет 128 байт. Но мне проще оставить 128 байт и не терять пакеты.
источник

ED

Electronics Designer in Embedded Group
Соответственно, при передаче пишем в TX FIFO пока он не наполнится, потом ждем прерывания TX FIFO almost empty и дописываем еще, вплоть до 65535 байт.
источник

ED

Electronics Designer in Embedded Group
Если записать 128 байт, буфер передачи будет заполнен сразу под завязку, но в этом нет ничего плохого.
источник

ED

Electronics Designer in Embedded Group
128 байт - размер FIFO, за раз можно записать не более 128 байт. 65535 байт - ограничение packet handler engine, больше в одном пакете передать в принципе нельзя.
источник

E

Evgen in Embedded Group
Спасибо большое за это разъяснение. Вот оно оказывается как. Тогда вообще все просто. Уже готовая реализация есть. Передавай свою структурку да и всё 😁
источник

ED

Electronics Designer in Embedded Group
Не за что. :)
источник

ED

Electronics Designer in Embedded Group
Главное, чтобы это все было правдой. :DDD Я читал даташит всего минут пять. :D В общем, расскажете, прав я или нет. :D
источник

E

Evgen in Embedded Group
да как начну проверять
там ещё режим подтверждения есть, думаю надо использовать, тогда вообще будет прекрасно😁
источник

E

Evgen in Embedded Group
и что вычитал эта штука умеет проверять канал занят или нет. Если не занят передаёт, очень понравилось
источник

ED

Electronics Designer in Embedded Group
"The FIFO controller detects overflow or underflow in the RX FIFO and overflow or underflow in the TX FIFO. Itis the responsibility of the MCU to avoid TX FIFO overflow since the MCU only can decide to writing on the TXFIFO. A TX FIFO overflow results in an error in the TX FIFO content, while an underflow results in the continuoustransmission of the last byte stored in the TX FIFO. Likewise, when reading the RX FIFO the MCU must avoidreading the RX FIFO after its empty condition is reached, since a RX FIFO underflow will result in an error in thedata read out of the RX FIFO."

Ответ на вопрос, что случится, если не успеть заполнить FIFO до того, как все данные из него будут переданы. Оказывается, будет постоянно передаваться последний прочитанный байт.
источник

ED

Electronics Designer in Embedded Group
Страница 40.
источник

E

Evgen in Embedded Group
то есть он полные фифо передаёт, если я правильно понял. А как он тогда работает, если буфер целиком не заполнили и отправили, тип нули дописывает?
ну тип payload 20 байт
источник

ED

Electronics Designer in Embedded Group
Если указанная длина пакета не более 128 байт, то он целиком поместится в FIFO. Можно записать пакет, дать команду начала передачи, и пакет улетит в эфир. Все.

Если указанная длина пакета больше 128 байт, то в процессе передачи придется дописывать данные.
источник