МАРСОХОД

Open Source Hardware Project

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1
  • 2
  • 3

ТЕМА: Как передать данные через com порт?

Как передать данные через com порт? 2 года 11 мес. назад #5015

  • kox
  • kox аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 26
  • Спасибо получено: 3
Есть задача передать bin файл через com порт на плату DE2-35.
Модуль UART приемника я взял из проекта воспроизведения звука на плате марсаход.
Из командной строки CMD я отправляю файл длинной 16384 байта в порт командой copy 1.rom /b com1 передача проходит, но на плату приходит 15870 байт, причем иногда на пару сотен байт больше, иногда меньше. А хотелось бы бинарник передать на плату байт в байт- то есть если в бинарнике FF, то получить с модуля UART ресивера 11111111, если 00, то получить 00000000,
с первого по последний байт.
Подскажите ваши соображения.
Заранее спасибо!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Как передать данные через com порт? 2 года 11 мес. назад #5016

Режимы порта правильно настроены? Команда "mode" что пишет?

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Как передать данные через com порт? 2 года 11 мес. назад #5018

  • kox
  • kox аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 26
  • Спасибо получено: 3
Режим правильный: Четность- отсутствует, стоп бит-1, управление потоком-отсутствует.
Скорость-230400.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Как передать данные через com порт? 2 года 11 мес. назад #5019

Ну а данных 7 или 8

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Как передать данные через com порт? 2 года 11 мес. назад #5020

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 631
  • Спасибо получено: 51
Системные буфера мешают, имхо.
Я предварительно запускаю uart.timeout (у меня WinXP), можно взять отсюда:
marsohod.org/forum/razdel-predlozhenij/3...intez-proshivki#3095
и скомпилировать .

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Как передать данные через com порт? 2 года 11 мес. назад #5021

Leka пишет: Системные буфера мешают, имхо.
Я предварительно запускаю uart.timeout (у меня WinXP), можно взять отсюда:
marsohod.org/forum/razdel-predlozhenij/3...intez-proshivki#3095
и скомпилировать .

У меня WinXP, Win7 и Win8. никогда ничего не мешало.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Как передать данные через com порт? 2 года 11 мес. назад #5024

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 631
  • Спасибо получено: 51
Драйвера м/б разные, для виртуальных СОМ-портов одни, для аппаратных - другие. Точно не помню, но вроде как проблема появляется с аппаратным СОМ-портом, с драйверами от M$.

И если правильно помню, такое только при передаче бинарников.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от Leka.

Как передать данные через com порт? 2 года 11 мес. назад #5026

  • kox
  • kox аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 26
  • Спасибо получено: 3
to umarsohod
8 бит данных.

to Leka
А нет скомпилированной версии? А то у меня нечем компилировать. :(

И еще: если передавать бинарник через гипертерминал, как текстовый файл, то передается ровно столько байт, сколько весит файл.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от kox.

Как передать данные через com порт? 2 года 11 мес. назад #5028

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 631
  • Спасибо получено: 51

А нет скомпилированной версии? А то у меня нечем компилировать. :(

Может, скачать Tiny C Compiler? Он очень мало весит, и позволяет запускать Си-программы без компиляции(!). Правда, не помню, возмет ли он uart.timeout.c, надо будет проверить...
Зато риск минимальный, вирус то можно и ненароком передать. У меня, например, никакие антивирусы не установлены - разные компы и ОС для работы и инета.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Как передать данные через com порт? 2 года 11 мес. назад #5029

  • Leka
  • Leka аватар
  • Не в сети
  • Живу я здесь
  • Живу я здесь
  • Сообщений: 631
  • Спасибо получено: 51
Компилирует.
tcc uart.timeout.c
На выходе uart.timeout.exe, эту программу надо запускать после mode, см uart.bat

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

  • Страница:
  • 1
  • 2
  • 3
Время создания страницы: 0.208 секунд

facebook  GitHub  YouTube  Twitter
Вы здесь: Начало Forum Наш форум Проекты пользователей Как передать данные через com порт?