gosha-z 1 November 14, 2017 Posted November 14, 2017 · Report post А вот не надо было так делать. Потому как есть через mmap. И очень даже быстро. Та же WiringPi для "малинки" отлично работает через mmap.Если ткнете носом в описания/примеры - буду весьма благодарен. Хотя, RS-485 extensions все равно в Raspbian не включены. Share this post Link to post Share on other sites More sharing options...
Alechek 0 November 15, 2017 Posted November 15, 2017 · Report post Прерывание или просто флаг FIFO empty + фиксированное время. Зачем знать последний бит? Скорость мы знаем. Может в каких-то моделях такого флага нет, за всё не ручаюсь. Это у STM32 таймеров как грязи. Не у всех так. А у LPC их впритык.... Выделить на такое дело не всегда возможно. Share this post Link to post Share on other sites More sharing options...
alag57 0 November 15, 2017 Posted November 15, 2017 · Report post Выделить на такое дело не всегда возможно А что у LPC флаг TEMT , который говорит, что сдвиговый регистр пуст, а значит передача закончена отменили? Share this post Link to post Share on other sites More sharing options...
jcxz 81 November 15, 2017 Posted November 15, 2017 · Report post А что у LPC флаг TEMT , который говорит, что сдвиговый регистр пуст, а значит передача закончена отменили? По данному флагу нет прерывания. Share this post Link to post Share on other sites More sharing options...
AlexeyT 0 November 17, 2017 Posted November 17, 2017 (edited) · Report post Назовите хоть один отечественный современный МК без UART. И да, такая существует: http://ic.milandr.ru/products/interfeysnye...my/rs485-rs422/ Даже такая: http://ic.milandr.ru/products/interfeysnye...s422/2011vv024/ Спасибо за ответы, только у Миландра - это приемопередатчики, а нужен бы специализированный контроллер. Почему не можем использовать UART - потому что скорости не хватает - 921600 бод, а нам надо около 2 Мбит (RS-485 с такими скоростями позволяет работать) Edited November 17, 2017 by AlexeyT Share this post Link to post Share on other sites More sharing options...
VCucumber 0 November 17, 2017 Posted November 17, 2017 · Report post нам надо около 2 Мбит (RS-485 с такими скоростями позволяет работать) извращение, stm 21 мегабит позволяет, а драйверы можно и на 40 найти Share this post Link to post Share on other sites More sharing options...
mantech 13 November 17, 2017 Posted November 17, 2017 · Report post Спасибо за ответы, только у Миландра - это приемопередатчики, а нужен бы специализированный контроллер. Почему не можем использовать UART - потому что скорости не хватает - 921600 бод, а нам надо около 2 Мбит (RS-485 с такими скоростями позволяет работать) Да, у миландра там медленный уарт и кан, что поделаешь... Хотя 485й, как правило используется в низкоскоростном режиме (до 115200). Используйте Эзернет, там скорость еще больше, гальваноразвязка и еще много плюшек... Share this post Link to post Share on other sites More sharing options...
@Ark 0 November 17, 2017 Posted November 17, 2017 · Report post Почему не можем использовать UART - потому что скорости не хватает - 921600 бод, а нам надо около 2 Мбит... Если тактовая частота позволяет, то скоростной UART можно программно реализовать. Передача вообще не представляет ни какой сложности. С приемом - чуть сложнее. Нужно задействовать прерывание. Share this post Link to post Share on other sites More sharing options...
Сергей Борщ 60 November 18, 2017 Posted November 18, 2017 · Report post А что у LPC флаг TEMT , который говорит, что сдвиговый регистр пуст, а значит передача законченаЭто вовсе не говорит о том, что передача окончена. После возникновения этого флага еще передается последний бит, биты четности и стоповый. Share this post Link to post Share on other sites More sharing options...
AlexeyT 0 November 18, 2017 Posted November 18, 2017 · Report post Если тактовая частота позволяет, то скоростной UART можно программно реализовать. Передача вообще не представляет ни какой сложности. С приемом - чуть сложнее. Нужно задействовать прерывание. Мы используем Миландровский 1986ВЕ1Т с тактовой 144 МГц. На такой частоте по Вашей оценке можно реализовать программный контроллер RS-485 со скоростью 2 Мбит/с? Share this post Link to post Share on other sites More sharing options...
@Ark 0 November 18, 2017 Posted November 18, 2017 · Report post Мы используем Миландровский 1986ВЕ1Т с тактовой 144 МГц. На такой частоте по Вашей оценке можно реализовать программный контроллер RS-485 со скоростью 2 Мбит/с? Думаю, да. Во всяком случае, стоит попробовать. Share this post Link to post Share on other sites More sharing options...
Михась 1 November 18, 2017 Posted November 18, 2017 · Report post Думаю, да. Во всяком случае, стоит попробовать. Примеров софт UART куча, надо тупо попробовать. Share this post Link to post Share on other sites More sharing options...
jcxz 81 November 18, 2017 Posted November 18, 2017 · Report post Думаю, да. Во всяком случае, стоит попробовать. 2 МБод на 144МГц тактовой? Может как-то и получится, но думаю процессор только этим и будет заниматься. Share this post Link to post Share on other sites More sharing options...
VCucumber 0 November 18, 2017 Posted November 18, 2017 · Report post процессор только этим и будет заниматься. поставят два Share this post Link to post Share on other sites More sharing options...
mantech 13 November 18, 2017 Posted November 18, 2017 · Report post поставят два Вот она - веселуха!! Даешь 5 портов из контроллеров 2 МБод на 144МГц тактовой? Может как-то и получится, но думаю процессор только этим и будет заниматься. В аппаратном уарте есть фильтр выборок, на мелких скоростях он так-то нафиг не нужен, но на мегагерцах уже вполне, так что прерываний там не 2мульона в сек. будет, а заметно больше. :rolleyes: ИМХО - изврат чистой воды! Share this post Link to post Share on other sites More sharing options...