Linux разработка для rs-232 на си
Sep. 6th, 2018 02:24 pmЧто-то клавиатура покрылась пылью, я начал сам зарастать жирком, и мозг заплывать. Пора взбодриться.
Долго думал, как же лучше рассказать о программировании СОМ-портов в линуксе. Понимаю, что если писать нормальную статью, с полными выкладками, то получится капец как долго и сложно. При этом статья будет явно не одна иникто её читать не будет она будет сложна для схватывания сути. Поэтому я решил сделать видеоурок по программированию СОМ-порта.

Удивительно, что тема настолько популярная, настолько востребованная, но если по существу, то вменяемых мануалов, особенно на русском по ней нет. Как делать синхронный ввод-вывод, как делать блокирующий/неблокирующий, как осуществить асинхронную приём-передачу, аналоги прерываний и т.п. Какие грабли и подводные камни, какие средства отладки есть. Ничего вменяемого не видел. Какие-то короткие примеры, которые сыпятся сразу, как только пытаешься шагнуть в сторону.
Поэтому решил заполнить данный пробел в рунете.
Пока примерная дата прямой трансляции - грядущее воскресенье 9 сентября, 18:00. В субботу я отдельно скажу о времени, явке, ссылках. В любом случае, трансляция будет на моём канале.
Я надеюсь ещё на вашу информационную поддержку, а так же поддержку
di_halt
Долго думал, как же лучше рассказать о программировании СОМ-портов в линуксе. Понимаю, что если писать нормальную статью, с полными выкладками, то получится капец как долго и сложно. При этом статья будет явно не одна и

Удивительно, что тема настолько популярная, настолько востребованная, но если по существу, то вменяемых мануалов, особенно на русском по ней нет. Как делать синхронный ввод-вывод, как делать блокирующий/неблокирующий, как осуществить асинхронную приём-передачу, аналоги прерываний и т.п. Какие грабли и подводные камни, какие средства отладки есть. Ничего вменяемого не видел. Какие-то короткие примеры, которые сыпятся сразу, как только пытаешься шагнуть в сторону.
Поэтому решил заполнить данный пробел в рунете.
Пока примерная дата прямой трансляции - грядущее воскресенье 9 сентября, 18:00. В субботу я отдельно скажу о времени, явке, ссылках. В любом случае, трансляция будет на моём канале.
Я надеюсь ещё на вашу информационную поддержку, а так же поддержку
no subject
Date: 2018-09-06 01:29 pm (UTC)Написал на питоне простенький скрипт опроса. Вроде работает, а что там сложного?
no subject
Date: 2018-09-06 02:33 pm (UTC)А если по сути, то даже в питоне много подводных камней при работе с несколькими СОМ-портами. Плюс, как на счёт сырых данных и одновременно требуется и слать и получать данные? Поточно, непрерывно
no subject
Date: 2018-09-06 04:15 pm (UTC)Вот с последним согласен, это уже не так тривиально. Но опять же, открываем дважды: на чтение и на запись и работаем.
no subject
Date: 2018-09-06 04:27 pm (UTC)И представим, что у нас не какие-то сраные 115200, а десяток мегабит?
no subject
Date: 2018-09-06 05:09 pm (UTC)out = fopen("/dev/usbACM0", "w")
while(1) {
if(in.что-то-есть){
in.четаем(buffer1)
}
if(есть чо сказать) {
out.пишем(buffer2)
}
}
хоть гигабит
no subject
Date: 2018-09-06 05:55 pm (UTC)Ограничение тут - размер буфера ядра.
no subject
Date: 2018-09-07 04:28 am (UTC)а вот если б надо было синхронно то пришлось бы городить треды.
размер буфера ядра то тут причем?
no subject
Date: 2018-09-06 03:50 pm (UTC)no subject
Date: 2018-09-06 04:26 pm (UTC)no subject
Date: 2018-09-06 04:29 pm (UTC)no subject
Date: 2018-09-06 08:28 pm (UTC)Как то пришлось прорываться через этот вопрос. Последовательно на bash, python, C. Синхронно с дерганьем GPIO. В принципе, заработало, но насколько бы верен выбранный ПУТЬ?
ЖДЕМ с нетерпением видеоурок.