Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
Всем привет. Не так давно возникла необходимость пересесть на линукс и написать программку для работы в дисплеем (GU140x32F-7806A) через 232ой интерфейс. В процессе изучения заметил странную особенность, в железке 4физ. порта. Дисплей висит на 4ом (ttyS3), остальные порты пока не задействованы. Если подавать команды дисплею на ttyS3 он будет молчать, а программа, повиснет. Но стоит только после отправки команды дисплею кинуть хоть что нибудь на второй порт (ttyS1), то дисплей примет команду и программа будет работать как надо. С другими портами такой способ не проходит. Вот пример программки с использованием библиотеки RS232 serial port library : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. Причём, если не посылать что нибудь на второй порт, при выполнении в консоле выведется "END" , то программа не остановится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.12.2011, 14:46 |
|
||
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
Vint_x, Что за железка? По сабжу. Работаю с RS-232 под линуксами - софт для сопряжения торгового оборудование (сканеры штрих-кодов, весы, чекопринтеры) с учетной системой. Подобных нюансов не встречал. Используются и "родные" порты компьютера, и выведенные из колодок на мат.плате, и PCI-RS232 переходники. Правда, больше трех портов нигде не использовал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 00:50 |
|
||
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
Насколько помнится, в PC-архитектуре COM1 и COM3 разделяют IRQ4, а COM2 и COM4 -- IRQ3 Определяться надо опросом соответствующих портов Всякие DigiBoard вообще держат десяток COM-портов на одном прерывании Посмотреть можно, наверное, cat /proc/interrupts ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 03:30 |
|
||
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
miwaonline, Железка Helios PC/104 SBC Вячеслав Любомудров, посмотрел, пусто в файле /proc/interrupts ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 08:36 |
|
||
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
Vint_x, Здесь пишут не о четырех портах, а о 2 RS-232 + 2 RS-232/422/485. Может, здесь собака порылась? На другой железке есть возможность попробовать? Или под другой системой хотя бы (LiveUSB)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.12.2011, 11:31 |
|
||
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
miwaonline, подрубил дисплей напряму к компу, где стоит линуха, всё работает без задействования левого порта. Похоже всё дело в прерываниях, т.к. на 2ом и на 4ом порту одно прерывание на двоих. Описываемая проблема стандартна при работе нескольких последовательных портов на одном прерывании. В данном случае не принципиально, на какой аппаратной платформе это происходит. Только специализированные мультипортовые платы (со своим арбитром и дополнительными окнами в адресном пространстве ввода-вывода) стабильно работают с 4 и даже 8 последовательными портами на одном прерывании. Рекомендуется присваивать каждому порту свою линию прерывания, не объединённую больше ни с одним устройством. Сейчас буду читать матчасть =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.12.2011, 14:57 |
|
||
|
Ком порт - особенность железки или линухи?
|
|||
|---|---|---|---|
|
#18+
Методом тыка удалось выяснить, что оказываться каждый порт висел на своём прерывании ttyS0 - IRQ3 ttyS1 - IRQ4 ttyS2 - IRQ10 ttyS3 - IRQ11 Порт 1 зависит от 3 и 2 зависит от 4. Причём, если задать 3 и 4 ые прерывания для портов 3 и 4, то они буду работать как надо, но тогда порты 1 и 2 будут работать криво (что бы кинуть на порт 1, надо потом что нибудь кинуть в порт 3 и что бы кинуть в порт 2, надо кинуть что нибудь в порт 4) Проблема была решена установкой для зависимых портов одно прерывание: ttyS0 - ttyS2 - IRQ3 ttyS1 - ttyS3 - IRQ4 Всё конечно работает, здорово, но вот хотелось бы знать, а почему? =) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2011, 16:42 |
|
||
|
|

start [/forum/topic.php?fid=25&msg=37590879&tid=1483816]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 264ms |
| total: | 397ms |

| 0 / 0 |
