|
Терминал COM-порт для передачи HEX, надо передавать 16-тиричные данные |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 27)
|
Oct 20 2010, 07:08
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Alt.F4 @ Oct 20 2010, 02:34)  Несколько программ правда имели функцию передачи в HEX, но текст вставлять нельзя, только набирать ручками (мне необходимо передать 80кбайт). Может кто-нибудь встречал подобные программы? Что-то я не понял - что, 80 кило HEX передавать ? Что есть HEX ? ASCII-представление двоичных данных ? Intel-HEX ? Так это все ASCII натуральные. Или речь все же о двоичных данных ? Teraterm, например, умеет передавать бинарные файлы "как есть". И можно, например, передачу файла навесить на функциональную клавишу, чтобы отправлять файл по одному нажатию.
|
|
|
|
|
Oct 20 2010, 07:17
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(Alt.F4 @ Oct 20 2010, 02:34)  Добрый день. Скачал добрый десяток программ для работы с ком-портом, но ни одна не отправляет в шестнадцатиричном виде, все кидают в кодировке ACSII. Несколько программ правда имели функцию передачи в HEX, но текст вставлять нельзя, только набирать ручками (мне необходимо передать 80кбайт). Может кто-нибудь встречал подобные программы? Спасибо. Realterm + драйвер для доступа к портам DLPortIO, если под WINDOWS.
|
|
|
|
|
Oct 20 2010, 17:11
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Не долго я радовался, Advanced Serial Port Terminal ограничивает вставленное количество символов в строку. В итоге мне надо 80 раз сделать Ctrl+C, Сtrl+V Realterm может отправлять txt файл, но отправляет почему-то очень медленно, на скорости 57600бит/с должно выходить не более 12сек, а он отправляет около минуты, в итоге байты занесены во флэш не верно... Это я Data Flash записать хочу через USART. Имеется список 80.000 шестнадцатиричных цифр, (можно в десятичные перегнать в виде 001,002,...,256 или в бинарные) которые надо как-то загнать в USART....
Сообщение отредактировал Alt.F4 - Oct 20 2010, 17:12
|
|
|
|
|
Oct 20 2010, 17:18
|

я только учусь...
     
Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839

|
Цитата(Alt.F4 @ Oct 20 2010, 20:11)  Не долго я радовался, Advanced Serial Port Terminal ограничивает вставленное количество символов в строку. В итоге мне надо 80 раз сделать Ctrl+C, Сtrl+V Realterm может отправлять txt файл, но отправляет почему-то очень медленно, на скорости 57600бит/с должно выходить не более 12сек, а он отправляет около минуты, в итоге байты занесены во флэш не верно... Это я Data Flash записать хочу через USART. Имеется список 80.000 шестнадцатиричных цифр, (можно в десятичные перегнать в виде 001,002,...,256 или в бинарные) которые надо как-то загнать в USART.... Попробуйте этой программой или вот этойМожет какая-то подойдет...
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 20 2010, 17:45
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Alt.F4 @ Oct 20 2010, 23:24)  rezident, тоже стоит ограничение... Какое ограничение?  Там ничего копи-пастить не требуется, кнопка Send File имеется, с помощью которой выбираете файл и он отправляется на COM-порт.
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 20 2010, 17:53
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Цитата то странно. Может, флешь просто записываться не успевает? Буфер есть? флэш записывается со скоростью 2304кбит/с пишу сначала в один буфер, и пока он переноситься в страницы памяти, заполняю другой буфер. на самом деле, мне можно отправлять по USART на любой скорости. Maverick, эти программы тоже не подходят =( rezident, выбираю txt файл -> ничего не происходит и на Send не реагирует -> жму опять на send file и программа закрывается
Сообщение отредактировал Alt.F4 - Oct 20 2010, 17:58
|
|
|
|
|
Oct 20 2010, 18:28
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Alt.F4 @ Oct 21 2010, 00:01)  да, если порт закрыт, то программа не закрывается... Я там посмотрел, она по ходу txt только ACSII символы понимает "Ох, уж эти сказки, ох уж эти сказочники!" Bra@y's terminal все передает в том виде, в котором ему предлагают. Вот сейчас специально для проверки взял файл (картинку) из своей аватары (AV-3882.JPG - 1412 байт). Замкнул RXD и TXD на разъеме COM-порта. Открыл порт в терминале. Включил логгирование приема ( StartLog). C помощью функции Send File передал AV-3882.JPG. Выключил логгирование приема ( StopLog). Редактором FAR открыл созданный терминалом файл 20101021001659.log. Вырезал из него заголовок и окончание лога, не относящиеся собственно к переданным данным. Сохранил файл (размер 1412 байт). Сравнил два файла. Результат Цитата Сравнение файлов 20101021001659.log и AV-3882.JPG FC: различия не найдены Еще вопросы имеются?
|
|
|
|
|
Oct 20 2010, 19:53
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Alt.F4 @ Oct 21 2010, 00:48)  txt файлы он декодирует в ACSII, а вот бинарный действительно, передает как есть. Декодировать на приеме для отображения он может и в ASCII и в HEX, там разные опции можно использовать. А вот на передаче он ничего не декодирует. Цитата(Alt.F4 @ Oct 21 2010, 00:48)  Только скорость передачи почему-то мала. 5 мин ждал, а он до конца еще 80кбайт не передал, хотя по идее со скоростью 57600бит/с=7200б/с должен за 12сек управиться... Неправильно считаете. 80*1024* 10бит/57600бит/с=14,2с. 10 бит это для одного символа, если режим 8,n,1. Если четность включена, то 11 бит/символ. Тормозить этот терминал может, если у него одновременно прием идет. У вас "эхо" случайно не идет на вход COM-порта? Цитата(Alt.F4 @ Oct 21 2010, 00:48)  з.ы. странно, почему снизу за надписью TX: постоянно ноль. Как отслеживать на каком этапе передача... RX: же отображается нормально... Это статистика самого терминала. Учет переданных байт из файла там не ведется. Только сообщение в статусе - столько-то байт передано. Цитата(Alt.F4 @ Oct 21 2010, 00:48)  В общем ждал ждал пока передастся, но так и не дождался. Его по ходу с такими большими файлами переклинивает... =( Попробовал отправить файл 250кБ (258 690 байт) на скорости 115200 - порядка 30 сек получается. Расчетное время 258690*10/115200=22,46с. Следует учитывать, что поток в COM-порт не совсем непрерывный. ОС может его прерывать, если другие задачи имеются/выполняются. Ограничение на размер принимаемого/передаваемого файла у Br@y's Terminal имеется, но до 0,5МБайт он передает без особых проблем по-моему.
|
|
|
|
|
Oct 20 2010, 20:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Попробовал еще через RS232pro (в поиске нашел), но она отправила только 10-ую часть файла!!! (замыкал TXD и RXD) Цитата У вас "эхо" случайно не идет на вход COM-порта? в настройках программы не нашел такой галки... Цитата Попробовал отправить файл 250кБ (258 690 байт) на скорости 115200 - порядка 30 сек получается. А как у Вас определяется, что файл передан? Мои действия: запускаю терминал, если нога RXD висит в воздухе, то начинается бесконечный приме помех, сажу на МК, выбираю файл для отправки, жму открыть и... все, ничего не происходит не через 30сек, не через 5мин...
|
|
|
|
|
Oct 20 2010, 21:03
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Alt.F4 @ Oct 21 2010, 02:38)  в настройках программы не нашел такой галки... Ее там и нет. Я просто предположил, что у вас эхо принимается. Цитата(Alt.F4 @ Oct 21 2010, 02:38)  А как у Вас определяется, что файл передан? Сообщение в статусной строке. Send file: 1412 byte send. Цитата(Alt.F4 @ Oct 21 2010, 02:38)  Мои действия: запускаю терминал, если нога RXD висит в воздухе, то начинается бесконечный приме помех, Вот из-за этого и тормозит терминал. Цитата(Alt.F4 @ Oct 21 2010, 02:38)  сажу на МК, выбираю файл для отправки, жму открыть и... все, ничего не происходит не через 30сек, не через 5мин... Запустите какой-нибудь сниффер или осциллографом гляньте сигнал на TXD COM-порта. Я бы конечно мог два порта друг на друга посадить или на второй комп принимать, но мне на сегодня уже лень другие эксперименты ставить
Эскизы прикрепленных изображений
|
|
|
|
|
Oct 20 2010, 21:21
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Цитата Сообщение в статусной строке. Send file: 1412 byte send. Опа, у меня такого не появляется. Осцилографа нету =(. Сниффер - это типа монитора следящего за состоянием порта? з.ы. у меня вообще странно себя ведет программа после выбора файла, закрываться не хочет, приходиться через диспетчер задач. Делаю так: выбираю, жму открыть, и снизу ничего не появляется!
|
|
|
|
|
Oct 20 2010, 22:09
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Alt.F4 @ Oct 21 2010, 03:58)  Тот, который Вы прикрепили, надпись Send*** писал сразу после выбора файла, А какая у вас операционка? Похоже, что она как-то слишком уж буферизирует потоки COM-порта. Цитата(Alt.F4 @ Oct 21 2010, 03:58)  Спасибо большое! Завтра буду пытаться записать в Data Flash. Да не за что вроде. Программа-то терминал не моя ведь  Успехов!
|
|
|
|
|
Oct 21 2010, 19:54
|
Профессионал
    
Группа: Свой
Сообщений: 1 468
Регистрация: 28-03-10
Из: Беларусь
Пользователь №: 56 256

|
Цитата А какая у вас операционка? Win XP sp2 Цитата Да не за что вроде. Программа-то терминал не моя ведь smile.gif Успехов! Кроме программы, Вы очень многое делаете чтобы помочь людям, это заслуживает огромного уважения!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|