Обновление SPI transfer16 для создания Transfer24
Это может быть немного, но для проекта, над которым я работаю, размер моего слова по умолчанию равен 24 битам (3x8 бит), из которых первые 8 бит - это данные, а следующие 16 бит - данные. Я хотел бы вывести его из системы как можно быстрее с минимальными вызовами подпрограмм. Для этого я пытаюсь уменьшить количество звонков, мне удалось уменьшить его с 3 до 2, могу ли я сделать это 1 звонок.
Моя первая попытка состояла в том, чтобы использовать 3x SPI.transfer() Вторая - в использовании 1x
SPI.transfer() и 1x SPI.transfer16()
Я хотел бы знать, каков был бы идеальный способ написать функцию SPI.transfer24.
@sandeepzgk, 👍2
Обсуждение1 ответ
Ты не можешь. Teensy 4.0 имеет аппаратную поддержку 8-битных, 16-битных и 32-битных передач. Не 24-битные передачи.
Но при частоте 600 МГц накладные расходы на вызов функции в любом случае незначительны - конечно, по сравнению со скоростью SPI, которая в лучшем случае примерно в 30 раз медленнее, чем работает процессор.
Если вам нужна высокая пропускная способность, вы все равно не захотите использовать библиотеку SPI, вместо этого вы будете использовать DMA для передачи данных с минимальным вмешательством процессора.
- Почему существует ограничение на эти значения измерения акселерометра? - ADXL375
- тинси 3.2; Беспроводное аудио 4.0 nRF24L01 — задержка увеличивается со временем
- Отсутствие Clock и MISO трафика на линиях SPI для ADXL375 с использованием teensy 3.2
- Как использовать SPI на Arduino?
- Как увеличить скорость записи на SD-карту в Ардуино
- Как считывать данные с помощью Arduino SPI
- Как передать более 1 байта сразу по шине SPI?
- OVF в последовательном мониторе вместо данных
Какую крошку ты используешь?, @Majenko
teensy 4.0 - это тот, который я использую, @sandeepzgk
И как вы думаете, какая разница, если сделать 1 вызов функции, а не 2, на частоте 600 МГц? Ты вообще сможешь сказать?, @Majenko
@Majenko это справедливая точка зрения, но если вы попытаетесь посмотреть на цифровой анализатор логического уровня, каждое слово, кажется, оказывает небольшое влияние, но когда вы пишете ~ 4M слов в секунду, это, к сожалению, складывается., @sandeepzgk