|
|
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erчто я здесь сделал не так, что он мне при чтении всегда возвращает "-1"???Как минимум, получение потока ввода-вывода внутри цикла - странная идея. Далее, согласно Java SE API , "минус один" возвращается, когда система ввода вывода диагностирует состояние "нечего читать". Это состояние, в свою очередь, возникает в двух случаях: 1. Достигнут конец файлов при блокирующем вводе-выводе; 2. Нечего читать при неблокирующем вводе-выводе. У вас, вероятно - вторая ситуация. Соответственно, выход из цикла чтения должен делаться не "по минус один", а по получению "осмысленного пакета данных" или по (вашему) условию "кончай работу". Плюс, чтобы не вешать систему постоянным опросом com-порта, рекомендуется вставлять Thread.yield() внутри цикла. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2014, 18:03 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov2. Нечего читать при неблокирующем вводе-выводе. Здесь блокирующий, поток чтения всегда висит на строке Код: java 1. если нечего читать. Другое дело, что ТС хочет создать свои грабли, чужие рабочие ему как-то не по душе. :) Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:00 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, разобрался.. проблема где то на аппаратном уровне, или в настройках адресов SerialPort-a. На скорости 115200 устройство данные получает, но они совсем не понятные .. :\ ------- Пересылаю: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. А в ответ приходит: Но это так понимаю не правильное определение формата данных.. А вот со скоростями мне не понятно.. :\ Буду терроризировать тех. поддержку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 09:55 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erНо это так понимаю не правильное определение формата данных.. А вот со скоростями мне не понятно.. :\ Буду терроризировать тех. поддержку... Порылся в интернете, и наткнулся на некое мнение, что проблема скоростей может заключается в том, что я под архитектурой ARM, пытаюсь работать с RS232 (Serial Port) библиотеками написанными под i386. Как можно это проверить, кто знает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 10:37 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erКак можно это проверить, кто знает? Я-бы сказал, что это бред. :) Но если очень хочется, то в папке примеров в ндк есть проект hello-jni, перетащи его значимую часть в SerialPort в отдельную функцию и узнаешь, какая именно цепляется библиотека. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 10:53 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, я к тому, что изначально ведь андроид не подразумевал использование Serial Port. И они не переписывали(дописывали) в ядре средства обращения и конфигурации портов под ARM системы... Может там на прямую через ASM нужно ... ? Я поигрался с настройками скорости и получил результат: Свыше 19200 он не пишет корректные данные. Ниже 57600 он не получает данные(пишет "буфер пустой") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:06 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erя к тому, что изначально ведь андроид не подразумевал использование Serial Port. Это линукс, слегка порезанный. Он полноценно работает с портами, но из ядра вырезана часть поддерживаемых устройств. К примеру, cp210x, на большом линуксе в ядре имеется, а в андроиде - нет. BoJI4erМожет там на прямую через ASM нужно ... ? Интересно, а как у меня получается работать? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:20 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman...Интересно, а как у меня получается работать? :) Ты смог добраться до андроида с com портом и проверить? ... значит проблема заключается конкретно в моём устройстве. Учитывая то что там SU был порезанный до "невменяемости" .. может они и с серийниками что-то накосячили... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 12:56 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erТы смог добраться до андроида с com портом и проверить? Я убедился, что он рабочий и собственно на этом и расстался с железкой. Сейчас хватает андроидной-виртуалки. Как и в случаем с cp210x через usb. BoJI4erможет они и с серийниками что-то накосячили... Мне было-бы просто в этом убедиться: у нас осциллограф имеется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 13:01 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, хэх.. кстати я о нем что-то не подумал ))) ... сейчас буду электронщиков терроризировать) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.06.2014, 13:03 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, Можешь напомнить, какая версия Android стоит на твоём планшете..? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 09:12 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4er, там где serial port работал, что-то архаичное было, в районе 2.3.х. Рутованное, потому не исключаю, что доустановили от себя. Где usb serial - 4.1.х, но эта либа с usb будет работать на любом устройстве с usb-host и андроидом от 3.1.х. Так что если на твоей железяке есть usb, посмотри в сторону usb serial и переходника usb->rs. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 09:26 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, На железе есть USB, но строить кучу мостов из-за недоработки устройства плохая затея. Я уверен на 100% что проблема в ОС. Потому что, после того как я(по совету производителя) обновил ОС прошивку до последней версии то все вообще перестало отправляться и приниматься. Когда вернул обратно то данные отправлялись и принимались (правда со старой ошибкой). Я подключил переходник USB-> COM. ---------терминал--------[ 905.029663] usb 1-1.1: new full-speed USB device number 7 using musb-hdrc [ 905.156188] usb 1-1.1: New USB device found, idVendor=0403, idProduct=6001 [ 905.163482] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 905.171173] usb 1-1.1: Product: USB Serial Converter [ 905.176391] usb 1-1.1: Manufacturer: FTDI [ 905.180633] usb 1-1.1: SerialNumber: FTAJUS95 --------------------- ... --------------- root@android:/dev # dmesg | grep USB ... <3>[ 895.589752] hub 1-1:1.0: unable to enumerate USB device on port 2 <6>[ 905.029663] usb 1-1.1: new full-speed USB device number 7 using musb-hdrc <6>[ 905.156188] usb 1-1.1: New USB device found, idVendor=0403, idProduct=6001 <6>[ 905.163482] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 <6>[ 905.171173] usb 1-1.1: Product: USB Serial Converter --------------- ---------терминал-------- 130|root@android:/dev # dmesg | grep tty <5>[ 0.000000] Kernel command line: console=ttyO0,115200n8 androidboot.console=ttyO0 root=ubi0:rootfs rw ubi.mtd=7,2048 init=/init rootfstype=ubifs rootwait=1 <6>[ 0.452545] omap_uart.0: ttyO0 at MMIO 0x44e09000 (irq = 72) is a OMAP UART0 <6>[ 1.198211] console [ttyO0] enabled <6>[ 1.202392] omap_uart.1: ttyO1 at MMIO 0x48022000 (irq = 73) is a OMAP UART1 <6>[ 1.210113] omap_uart.2: ttyO2 at MMIO 0x48024000 (irq = 74) is a OMAP UART2 <6>[ 1.217773] omap_uart.3: ttyO3 at MMIO 0x481a6000 (irq = 44) is a OMAP UART3 <6>[ 1.225433] omap_uart.4: ttyO4 at MMIO 0x481a8000 (irq = 45) is a OMAP UART4 <6>[ 1.233093] omap_uart.5: ttyO5 at MMIO 0x481aa000 (irq = 46) is a OMAP UART5 <6>[ 1.282928] (hci_tty): inside hci_tty_init <6>[ 1.287567] (hci_tty): allocated 251, 0 ---------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 09:57 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erЯ уверен на 100% что проблема в ОС. Предлагаю вещи называть своими именами: производители железяки взяли исходники андроида и даже умудрились его запустить. Но о полноценной работе ОС на железяке не беспокоятся. BoJI4erМожешь подсказать, как мне с ним работать? :-) Ну дак usb serial library: Код: xml 1. 2. Должен поддерживать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 10:17 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadmanBoJI4erЯ уверен на 100% что проблема в ОС. Предлагаю вещи называть своими именами: производители железяки взяли исходники андроида и даже умудрились его запустить. Но о полноценной работе ОС на железяке не беспокоятся. Ну по вопросу производителя я еще не уверен, я общаюсь с их российским представительством... wadmanBoJI4erМожешь подсказать, как мне с ним работать? :-) Ну дак usb serial library: Код: xml 1. 2. Должен поддерживать. Точно.. что-то я этот момент упустил :-)... сейчас попробую проверить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 10:21 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erНу по вопросу производителя я еще не уверен, я общаюсь с их российским представительством... В чем могут быть сомнения, что производитель не доработал вопрос согласованности своей железки со "своим" ПО? К примеру: http://www.silabs.com/Support Documents/TechnicalDocs/an809.pdf эта штука уже давно интегрирована в ядро линукса, но в андроиде она вырезана. И чтоб её вернуть, необходимо пересобрать ядро под конкретную железку/смартфон. Это же касается, скорее всего, и твоей железки. PDFAndroid is based off of the Linux kernel, so there is already support for the CP210x device built in to the kernel. However, CP210x support is not included in a default kernel build configuration for most Android devices. There are many devices that can run the Android operating system (OS), as well as several different versions of an Android operating system. Because Android is open source, it can be changed based on the needs of device manufacturers, wireless carriers and other developers. This fact makes it difficult to provide the exact steps for rebuilding, as each developer may be using different hardware and a different build of Android specific to that hardware. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 10:40 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
Появился еще один из вариантов, из-за которого может некорректно работать получение/отправка данных. На устройстве включены (RTS и CTS сигналы). Закорочены они или нет я не знаю... возможно из-за них и не передаются данные... Но вот только я не могу найти, как их включить на ПК (делфи). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 11:47 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
Давно-бы уже взял готовую библиотеку для работы с ком-портами. Их, как грязи... http://msdn.microsoft.com/en-us/library/windows/desktop/aa363254(v=vs.85).aspx Если-бы посмотрел осциллографом, то давно-бы уже определил виновника. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 11:52 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, осциллографом смотрели. Из устройства данные не идут... никаких. Из ПК сигнал проскакивает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 12:26 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erНа устройстве включены (RTS и CTS сигналы). Закорочены они или нет я не знаю... возможно из-за них и не передаются данные... Но вот только я не могу найти, как их включить на ПК (делфи). Код: plaintext 1. 2. 3. 4. Может у вас кабель и управление потоком не соответствуют друг другу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 14:04 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovМожет у вас кабель и управление потоком не соответствуют друг другу? Дело не в кабеле. (прочитай всю тему) проблема конкретно в устройстве... и похоже на уровне адресного пере направления (так как BIOS здесь нет, тут напрямую через ASM приписаны адреса в прошивке) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 14:27 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4er, разработчики как-то объясняют такую фичеобразность работы с UART на их платформе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 14:30 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadman, представители написали "литература вам в помощь" (на вопрос работы под линуксом) а про андроид сказали "у нас клиенты не работают по схеме андроид+ rs232" вот ответ на мой запрос: Возможные причины: * некорректная работа с сигналами управления RTS, DTR, CTS на стороне вашей программы на модуле и/или на стороне приемника (ПК) * данные пришли, но забуферизированы в драйвере Windows или вашей программе-терминале. Были показаны вам возможно после того, как мигнул уровень RTS при перезагрузке после обновления. * некорректно работающая программа-терминал на стороне Windows. Можно попробовать отключить управление сигналами передачи в настройках этой программы. Сигнала с устройства нет вообще. На сколько я знаю "RTS/CTS" сигналы отключаются с помощью " cfg.c_cflag |= CRTSCTS ", верно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 16:00 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
BoJI4erвот ответ на мой запрос: Феерично. Причина в чем угодно, кроме их поделия. :) BoJI4erНа сколько я знаю "RTS/CTS" сигналы отключаются с помощью " cfg.c_cflag |= CRTSCTS ", верно? Ссылку-то я уже давал, это включение "or". Выключение "and not": Код: plaintext 1. Еще раз: http://ulisse.elettra.trieste.it/services/doc/serial/config.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 16:06 |
|
||
|
Serial Port
|
|||
|---|---|---|---|
|
#18+
wadmanBoJI4erвот ответ на мой запрос: Феерично. Причина в чем угодно, кроме их поделия. :) BoJI4erНа сколько я знаю "RTS/CTS" сигналы отключаются с помощью " cfg.c_cflag |= CRTSCTS ", верно? Ссылку-то я уже давал, это включение "or". Выключение "and not": Код: plaintext 1. Еще раз: http://ulisse.elettra.trieste.it/services/doc/serial/config.html CNEW_RTSCTS не определяется у меня, а CRTSCTS определяется... я где то в ресурсах вычитывал что это одно и то же... :\ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.07.2014, 16:23 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38680548&tid=1341311]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
155ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 213ms |
| total: | 448ms |

| 0 / 0 |
