Кстати, откуда уверенность, что "не было паузы"? Я так понимаю, что начинать заполнять буфер по новой можно только после того, как он будет полностью передан. И, кстати, передача из буфера осуществляется не по команде завершения?
Дак так я обычно с ним работаю. Режим использования буфера зависит от реализации, может как Вы пишете, а может и циклически. Это уже как либка сделана. Важней само свойство шины синхронной - её можна остановить в любой момент (даже посредне отправки любого бита). А потом продолжить как ни в чем не бывало. Очень прикольно делать чтото типа такого например при выводе на екран: передали адрес и команду в шину, из флеша с ProgMem выгребаем по байту и сразу отправили на экран картинку-"шапку", затем, строку из переменной пропускаем через таблицу знакогенератора и тоже по байту и в шину, потом с быстрых датчиков показания сняли и снова через таблицу знакогенератора в шину и т.д. Из разнородных источников информации. И только в конце стоп на шину. Все предельно быстро, буферов нет вообще. Только писать такое сложно, а дорабатывать вобще мрак.
Победил я частично проблему. Удалось настроить драйвера для USB ком порта. Через эмулятор USB ком порта все прет без проблем... Причем от инициализации ком порта под линукс ничего не зависит почему-то.
Да, оказалось нужен обычный ACM драйвер. Менял скорость I2C работает на всех скоростях но на 200кгц мне показалось что работает чуть быстрее. Хотя теперь можно дисплей подключить к хардварному серийнику ардуины, чтобы не нагружать I2c т.к. там и так девайсы другие висят =)
Кстати, откуда уверенность, что "не было паузы"? Я так понимаю, что начинать заполнять буфер по новой можно только после того, как он будет полностью передан. И, кстати, передача из буфера осуществляется не по команде завершения?
Дак так я обычно с ним работаю. Режим использования буфера зависит от реализации, может как Вы пишете, а может и циклически. Это уже как либка сделана. Важней само свойство шины синхронной - её можна остановить в любой момент (даже посредне отправки любого бита). А потом продолжить как ни в чем не бывало. Очень прикольно делать чтото типа такого например при выводе на екран: передали адрес и команду в шину, из флеша с ProgMem выгребаем по байту и сразу отправили на экран картинку-"шапку", затем, строку из переменной пропускаем через таблицу знакогенератора и тоже по байту и в шину, потом с быстрых датчиков показания сняли и снова через таблицу знакогенератора в шину и т.д. Из разнородных источников информации. И только в конце стоп на шину. Все предельно быстро, буферов нет вообще. Только писать такое сложно, а дорабатывать вобще мрак.
а, кто может объяснить, что это значит:
Serial.flush()
Ожидает окончания передачи исходящих данных (до версии Arduino 1.0 функция очищала буфер последовательного соединения).
*кто жидает, от кого ожидает, какой буфер очищала в версии Arduino 1.0 - буфер rx или tx?
повбывавбы - страннопейсателей.
Победил я частично проблему. Удалось настроить драйвера для USB ком порта. Через эмулятор USB ком порта все прет без проблем... Причем от инициализации ком порта под линукс ничего не зависит почему-то.
Удалось настроить драйвера для USB ком порта.
драйвера на чём?
на ОпенВРТ?
Удалось настроить драйвера для USB ком порта.
драйвера на чём?
на ОпенВРТ?
Да, оказалось нужен обычный ACM драйвер. Менял скорость I2C работает на всех скоростях но на 200кгц мне показалось что работает чуть быстрее. Хотя теперь можно дисплей подключить к хардварному серийнику ардуины, чтобы не нагружать I2c т.к. там и так девайсы другие висят =)
Да, оказалось нужен обычный ACM драйвер.
интересно, а до того, как оно без драйверов работало?
интересно, а до того, как оно без драйверов работало?
Никак не работало, я же говорил что до этого подключал к хардварнаму Serial порту по трем проводам. Там никакие драйвера не нужны практически.
Никак не работало, я же говорил что до этого подключал к хардварнаму Serial порту по трем проводам. Там никакие драйвера не нужны практически.
а, теперь у тебя по скольким проводам в контроллер Дуино инфа поступает?
не кажется ли тебе, что как получал ты инфу по двум(RX, TX) проводам - так и получаешь.