![]() |
|
|
![]()
|
|
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Я пишу для микроконтроллеров. Но пришлось написать и программу для компьютера, хоть я почти и не понимаю в C++. Она должна передавать и принимать данный от микроконтроллера через COM порт. Вставил чужой код, который должен принимать данные с COM порта, а он не пропускает коды 11h и13h. Я понимаю, что это символы перевода каретки, но сам исправить положение не могу. Помогите, кто знает.
Это сообщение отредактировал(а) ZPavel - 1.4.2007, 18:58 |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Помогите кто нибуть, пожалуйста.
|
|||
|
||||
| pandrew |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 27.3.2006 Репутация: 3 Всего: 3 |
Вызов ReadFile можно записать проще:
Я не знаю, что делает функция caserbyte, возможно эти символы просто не отображаются в Memo. Поставь breakpoint на ReadFile и смотри значение RecByte в отладчике. |
||||
|
|||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Проверил
аналогично, RecByte значений 11h, 13h не получает. |
|||
|
||||
| pandrew |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 27.3.2006 Репутация: 3 Всего: 3 |
||||
|
||||
| _voron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 15.6.2004 Репутация: нет Всего: нет |
Символы перевода каретки это 10 и 13, в шестнадцатеричном виде 0xA и 0xD, соответственно.
И вообще, читать данные лучше в асинхронном режиме. |
|||
|
||||
| Aline |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 470 Регистрация: 22.7.2005 Где: Таруса Репутация: нет Всего: нет |
А мы использовали компонент ApdComPort - просто и удобно работать с ним
|
|||
|
||||
| Ivan. |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 2.11.2004 Репутация: нет Всего: 2 |
Я пользуюсь компонентой TComPort. Визуальная компонента, событийная система, очень удобно.
-------------------- Я могу ВСЁ, вопрос - сколько времени у меня это займет! |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
а где его взять, этот Ваш ApdComPort |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Поискал в интернете tcomport, и нашел только за деньги, что делать, где найти даром? И еще, есть ли, описание tcomport на русском? |
|||
|
||||
| pandrew |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 213 Регистрация: 27.3.2006 Репутация: 3 Всего: 3 |
||||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Вот пример реботы с ком портом, можете посмотреть, маленький, говый проект. Я брал его за основу. И он не принимает эти коды, почему. Может кто-то поймет по реальному примеру.
Присоединённый файл ( Кол-во скачиваний: 28 )
rs232cpp.zip 7,34 Kb |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Что, никто не в состоянии понять куда деваются 11h, 13h, в примере?
|
|||
|
||||
| Usper |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 325 Регистрация: 13.4.2007 Репутация: 15 Всего: 15 |
Если ты ничего не получаешь на ком порт, может быть туда ничего и не приходит?
Для тестирования подобного рода программ рекомендую связку программ Virtual Serial Ports Driver XP от Eltima Software (эмулирует пару или даже больше, если требуется ком портов, соединных нуль модемным кабелем) и какую нибудь терминальную прогу (я юзаю Com watcher Дмитрия Васильева) которая просто принимает и отсылает на ком порт байты. -------------------- На посохе волшебном нехилый набалдашник, большой такой, огромный, нехилый набалдашник. |
|||
|
||||
| ZPavel |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.3.2007 Репутация: нет Всего: нет |
Да я так и делаю, на 1 сом порт свою прогу, на 2 сом порт терминальную, и нуль-модемный кабель. Это именно моя прога не принимает 11н, 13н. Тот пример, что я выложил, я брал за основу его, он на функциях api, ведет себя аналогично. Я думаю, что наверно никто раньше не обращал внимание на то, что функция API ReadFile, не пропускае парочку кодов. Или тогда дайте кто нибуть готовый пример, где пропускает все коды.
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |