Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
Есть некое устройство (купюроприёмник), работающее по последдовательному порту по протоколу MDB (protocol, which is based on a Motorola 9-bit UART implemented as an 8-bit data value with an additional mode bit. The mode bit differentiates between ADDRESS and DATA bytes). Для реализации на PC рекомендуют использовать бит чётности. Есть программа, работающая с этим устройством из-под Windows. Вот её обмен с устройством, записанный с помощью портмонитора (кусок, где непосредственно посылаются данные, при необходимости выложу всё): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Пытаюсь реализовать подобный обмен из своего кода, устройство не отвечает: Код: 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. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Вопрос, как его победить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 11:36 |
|
||
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
zvb7, Перед посылкой каждого байта менять режим mark/space ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 11:44 |
|
||
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
ИзопропилПеред посылкой каждого байта менять режим mark/space Изопропил, вроде так и делаю, см. последние два SetCommState. Кстати, как той работающей программе, от которой лог, удаётся делать IOCTL_SERIAL_SET_LINE_CONTROL не меняя остальное (см. например строки лога 38 и 40)? У меня при вызове SetCommState происходит много чего, как в логе от строки 28 до строки 33. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 11:56 |
|
||
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
zvb7как его победить? Для начала - начать проверять коды возврата функций. Потом - сравнивать результаты портмонитора для работающей программы и твоей неработающей. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 12:01 |
|
||
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, коды возврата сам-собой проверяю, все TRUE, просто не стал перегружать выкладываемый сюда код. Ну и портмонитором проверяю, что всё отрабатывает. Примерно так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 12:09 |
|
||
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
Можно и пару более общих вопросов сформулировать: 1. Я правильно понимаю, что все манипуляции, например с SetCommState до того, как я вызову WriteFile порту на самом деле по барабану? Посмотрим на лог от работающей программы - в строке 31 установилось Parity: SPACE, потом в 36 - Parity: MARK, потом в 38 опять Parity: MARK. Это зачем? 2. Что происходило в программе когда в лог вывелась строка 34, там где IRP_MJ_DEVICE_CONTROL IOCTL: 0x1B009C ? Хотя это наверное что-то другое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2017, 14:48 |
|
||
|
9 бит данных по COM-порту
|
|||
|---|---|---|---|
|
#18+
zvb7все манипуляции, например с SetCommState до того, как я вызову WriteFile порту на самом деле по барабану?нет, RX будет с твоим State. zvb72. Что происходило в программе когда в лог вывелась строка 34, там где IRP_MJ_DEVICE_CONTROL IOCTL: 0x1B009C ? Хотя это наверное что-то другое. http://www.rohitab.com/apimonitor Читай по SetCommMask / WaitCommEvent (или каждые 100мс GetCommState как в оригинале) и с таймаутами, да ещё и на запись?, разберись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 19:31 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=39490216&tid=2018117]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
161ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 296ms |
| total: | 543ms |

| 0 / 0 |
