Передача из UART в SPI или I2C

Logik
Offline
Зарегистрирован: 05.08.2014

andriano пишет:

Кстати, откуда уверенность, что "не было паузы"? Я так понимаю, что начинать заполнять буфер по новой можно только после того, как он будет полностью передан. И, кстати, передача из буфера осуществляется не по команде завершения?

Дак так я обычно с ним работаю. Режим использования буфера зависит от реализации, может как Вы пишете, а может и циклически. Это уже как либка сделана. Важней само свойство шины синхронной - её можна остановить в любой момент (даже посредне отправки любого бита). А потом продолжить как ни в чем не бывало. Очень прикольно делать чтото типа такого например при выводе на екран: передали адрес и команду в шину, из флеша с ProgMem выгребаем по байту и сразу отправили на экран картинку-"шапку", затем, строку из переменной пропускаем через таблицу знакогенератора и  тоже по байту и в шину, потом с быстрых датчиков показания сняли и снова через таблицу знакогенератора в шину и т.д. Из разнородных источников информации.  И только в конце стоп на шину. Все предельно быстро, буферов нет вообще. Только писать такое сложно, а дорабатывать вобще мрак.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

а, кто может объяснить, что это значит:

Serial.flush()

Ожидает окончания передачи исходящих данных (до версии Arduino 1.0 функция очищала буфер последовательного соединения).

*кто жидает, от кого ожидает, какой буфер очищала в версии Arduino 1.0 - буфер rx или tx?

повбывавбы - страннопейсателей.

khseal
Offline
Зарегистрирован: 15.01.2016

Победил я частично проблему. Удалось настроить драйвера для USB ком порта. Через эмулятор USB ком порта все прет без проблем... Причем от инициализации ком порта под линукс ничего не зависит почему-то.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

khseal пишет:

Удалось настроить драйвера для USB ком порта.

драйвера на чём?

на ОпенВРТ?

khseal
Offline
Зарегистрирован: 15.01.2016

Клапауций 322 пишет:

khseal пишет:

Удалось настроить драйвера для USB ком порта.

драйвера на чём?

на ОпенВРТ?

Да, оказалось нужен обычный ACM драйвер. Менял скорость I2C работает на всех скоростях но на 200кгц мне показалось что работает чуть быстрее. Хотя теперь можно дисплей подключить к хардварному серийнику ардуины, чтобы не нагружать I2c т.к. там и так девайсы другие висят =)

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

khseal пишет:

Да, оказалось нужен обычный ACM драйвер.

интересно, а до того, как оно без драйверов работало?

khseal
Offline
Зарегистрирован: 15.01.2016

Клапауций 322 пишет:

интересно, а до того, как оно без драйверов работало?

Никак не работало, я же говорил что до этого подключал к хардварнаму Serial порту по трем проводам. Там никакие драйвера не нужны практически.

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

khseal пишет:

Никак не работало, я же говорил что до этого подключал к хардварнаму Serial порту по трем проводам. Там никакие драйвера не нужны практически.

а, теперь у тебя по скольким проводам в контроллер Дуино инфа поступает?

не кажется ли тебе, что как получал ты инфу по двум(RX, TX) проводам - так и получаешь.