Передача чисел через последовательный порт

Hello, All! Чайниковский вопрос. Мне нужно связать РС и микропроцессорную плату через RS-232. Данные типа string передать легко. Как передать числовые данные (и с плавающей точкой тоже) ? Разбить их побайтно, а затем собрать на стороне приемника? А если их представление различно в РС и в плате? Как это обычно делают?

With best regards, Andrew Shelkovenko.

Reply to
Andrew Shelkovenko
Loading thread data ...

Здравствуйте.

В конце концов, числа можно тоже гнать как строки, прямо с точкой и нулем в конце. А на приемном конце разбирать при помощи scanf или строковыми функциями.

Например так. Часто еще упаковывают в пакеты и вставляют контрольную сумму для защиты от ошибок и поле команды. Чтобы знать, данные какого типа пришли. Ну и по мелочи всякие дела - вроде slip протокола для определения начала пакета. В пакет можно и строки укладывать.

Тогда надо преобразовать форматы. Лучше это делать в РС. Там это проще, так как инструментальное обеспечение богатое и производительность больше, чем в железке. Кстати, обычно представление плавучки одинаковое, по ИСО забыл какой номер (есть стандарт на хранение плав. чисел). А вот порядок байт может быть разным. Знаменитые big and little endian. Тогда преобразование форматов сводится к перестановке байт в числе.

Кому как Бог на душу положит. Но часто все кончается тем, что приходится реализовывать TCP/IP. На этом этапе программисты разбегаются и проект умирает. :-))

Спасибо Basil

Reply to
Basil Bourtakov

Hello, Andrew! AS> Чайниковский вопрос. Да :-) AS> Мне нужно связать РС и микропроцессорную плату через RS-232.

Если плата уже сделана, то в том формате, который предусмотрен в интерфейсе этой платы. Если плата опять-же уже сделана, только надо прикрутить к ней интерфейс - imho, проще всего передавать во внутреннем представлении чисел в плавучке платы. Разбить байты числа потетрадно и передавать их как 16-ричные цифры.Впереди ставить стартовый символ (например, : ), в конце - контрольную сумму и <CR><LF> или один из них. WBR Eugene Gavruk.

Reply to
Eugene Gavruk

Hello Basil.

26 Nov 03 10:49, you wrote to Andrew Shelkovenko:

У-у-у, как все запущено. ;)

Alexey

Reply to
Alexey Boyko

Hello, Eugene! You wrote to Andrew Shelkovenko on Wed, 26 Nov 2003 09:51:15 +0000 (UTC):

AS>> Чайниковский вопрос. EG> Да :-) ;-) AS>> Мне нужно связать РС и микропроцессорную плату через RS-232.

Спасибо всем ответившим. Я понял, что десяток параметров проще передать в плату как строковые, а там преобразовать через atoi(). Чтоб не заморачиваться. А как из платы передавать - посмотрим. Кстати плата - мотороловская DSP56F807.

With best regards, Andrew Shelkovenko. RQ Search and Replace -

formatting link

Reply to
Andrew Shelkovenko

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.