Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/10: Рейтинг темы: голосов - 10, средняя оценка - 4.60
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
#1

Передача файла через COM port

03.11.2009, 14:49. Просмотров 1891. Ответов 2
Метки нет (Все метки)

Вопрос Чайника. Начал программировать на С++ совсем недавно и вот столкнулся с такой проблемойЖ

Нужно отправить в порт файл по частям. Описываю har Buff[512]
Но прежде чем отправлять пакет в начало нужно добавить адрес по которому буфер будет сохранен в принимающем устройстве. И в конец пакета контрольную сумму всего пакета вместе с адресом.
Вот тут возникла проблема. Если бы не контр. сумма - то просто двумя посылками WriteFile(hComm, A,...) Где А
константа адреса char A={0x00, 0x00, 0x00, 0x00} и в цикле просто добавляю к нужному элементу число чтобы получалась нужная цифра. и вторая посылка WriteFile(hComm, Buff,...). Выглядит глупо но для небольших файлов работатет. Но как соединить A и Buff - Не получается. Пробовал через String - а выходе в порт идет кусок моего кода а не файл.
Если кто сможет - помогите разобраться.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.11.2009, 14:49
Ответы с готовыми решениями:

9-ти битная передача через COM port
братцы вопрос такой, как мне собственно реализовать девятибитную передачу через...

Отправка данных на arduino через com port
Есть проблема с отправкой данных на arduino. Принять принимаю но по факту мне...

Не работает ввод имени файла через fget и открытие через fopen
Уже все перепробовал и в гугле пару часов посидел. Но никак не пойму где...

Запись файла через одно приложение, а чтение через другое
Есть 2 консольные программы. 1-я пишет в файл "z" текст, 2-я читает с файла...

Передача параметров через rvalue
template<class T> T&& fuc(T&& t) { return t; }; int main() { double...

2
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
03.11.2009, 15:53 #2
Код приведи.
0
Valery_
0 / 0 / 0
Регистрация: 03.11.2009
Сообщений: 101
03.11.2009, 16:21  [ТС] #3
кода как такового нет. Никак не могу разобраться как привести A={0x00, 0x00, 0x00, 0x00} к типа String. Или число 0x00000000 к char {0x00, 0x00, 0x00, 0x00} чтобы с этим НЕХ числом в цикле запустить A[i]=A[i] + 0x200. Экспериментировал с буффером чтобы добавить его еще раз в конец, т.е. получить буффер в котором один блок идет за другим

char Buff[512];
char *Buff1[1024]
буффер читаю через TFileStream fs-> Read(Buff, sizeof(Buff));
String S=Buff;
S=S+S;
strcpy(Buff1, S.c_str);

в итоге идет либо кусок кода в порт, либо если начинаю играть указателями - идет какой то мусор нужной длинны. Даже если не добавляю ничего а просто конвертирую S азад в char - тот же мусор.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.11.2009, 16:21

Передача в функцию через указатели
Компилятор говорит, что что-то не так с передачей max и min. Что? #include...

Передача массива через указатель
Надо передать массив в функцию через указатель, я сделал, так но что то...

Передача аргументов через консоль
Подскажи пожалуйста, вот такой код: #include <iostream> #include <vector>...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru