Конвертация в ASCII
|
|
DimDIk |
Дата: Ср, 22.04.2009, 20:44 | Сообщение # 1 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Осуществляется прием данных,где каждое число соответствует байту,всего 6 байт. Необходимо конвертировать эти байты в переменную типа float, затем из переменной типа float получить пакет в виде ASCII символов. Подскажите как это сделать, или при помощи каких команд можно осуществить такую конвертацию?
|
|
|
|
demanik |
Дата: Ср, 22.04.2009, 20:50 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
посмотрите оператор STR$
Попробуй всё и вся... может быть пол...
|
|
|
|
DimDIk |
Дата: Ср, 06.05.2009, 21:22 | Сообщение # 3 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Спасибо!!! Добавлено (30.04.2009, 2:48:58) --------------------------------------------- Еще такой вопрос, как данные в формата ASCII перевести в формат float ? Добавлено (06.05.2009, 9:22:53) --------------------------------------------- Подскажите есть ли в протоне команда,разделяющая байт на два полубайта?
|
|
|
|
DimDIk |
Дата: Чт, 14.05.2009, 17:53 | Сообщение # 4 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Может знает кто-нибудь,как 1 байт представить в виде двух hex?
|
|
|
|
demanik |
Дата: Чт, 14.05.2009, 19:15 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (DimDIk) Может знает кто-нибудь,как 1 байт представить в виде двух hex? Например для вывода дисплей пишем: PRINT HEX2 переменная
Попробуй всё и вся... может быть пол...
|
|
|
|
DimDIk |
Дата: Чт, 14.05.2009, 21:51 | Сообщение # 6 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Да,я это знаю,но можно ли похожим способом присвоить hex2 какой нибудь переменной?Сколько я ни пробовал у меня ничего не выходит.
|
|
|
|
demanik |
Дата: Чт, 14.05.2009, 22:19 | Сообщение # 7 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (DimDIk) Сколько я ни пробовал у меня ничего не выходит Вы поконкретнее опишите задачу, что конкретно нужно делать.
Попробуй всё и вся... может быть пол...
|
|
|
|
DimDIk |
Дата: Чт, 14.05.2009, 22:58 | Сообщение # 8 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Мне необходимо тпреобразование "чистой" двоичной информации в допустимые для передачи по каналу ASCII-символы, Тетрады кодируются следующим образом: 0000 -> 'G' = 0x47 0001 -> 'H' = 0x48 0010 -> 'I' = 0x49 0011 -> 'J' = 0x4a 0100 -> 'K' = 0x4b 0101 -> 'L' = 0x4c 0110 -> 'M' = 0x4d 0111 -> 'N' = 0x4e 1000 -> 'O' = 0x4f 1001 -> 'P' = 0x50 1010 -> 'Q' = 0x51 1011 -> 'R' = 0x52 1100 -> 'S' = 0x53 1101 -> 'T' = 0x54 1110 -> 'U' = 0x55 1111 -> 'V' = 0x56 Т.е. приняв некое значение переменной типа float(например FLT=-3.14), я должен перекодировать ее согласно изложенному выше принципу,и передать получателю.
Сообщение отредактировал
DimDIk - Чт, 14.05.2009, 23:29
|
|
|
|
demanik |
Дата: Чт, 14.05.2009, 23:38 | Сообщение # 9 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (DimDIk) Мне необходимо каждую тетраду ASCII символа представить вот в таком виде Можно пробовать через таблицу LOOKUP. Также посмотрите оператор VAL, он служит для конвертации данных.
Попробуй всё и вся... может быть пол...
|
|
|
|
DimDIk |
Дата: Чт, 14.05.2009, 23:39 | Сообщение # 10 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Спасибо,буду пробовать.
|
|
|
|
demanik |
Дата: Чт, 14.05.2009, 23:42 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (DimDIk) Т.е. приняв некое значение переменной типа float(например FLT=-3.14), я должен перекодировать ее согласно изложенному выше принципу,и передать получателю. Тоесть вам надо передать: "F","L","T","=","-","3",".","1","4" в ASCII виде. Я правильно понял ?
Попробуй всё и вся... может быть пол...
|
|
|
|
DimDIk |
Дата: Чт, 14.05.2009, 23:44 | Сообщение # 12 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
Нет, только значение переменной.
|
|
|
|
demanik |
Дата: Пт, 15.05.2009, 00:11 | Сообщение # 13 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (DimDIk) Нет, только значение переменной помозгую Добавлено (15.05.2009, 0:11:06) --------------------------------------------- Quote (demanik) Нет, только значение переменной DIM Pi AS FLOAT Pi = -3.14 SEROUT PORTB.6, 396, [DEC Pi] на компе принимаю -3,14 Как я понял DEC сам преобразует каждую цифру в код и последовательно их передает.
Попробуй всё и вся... может быть пол...
Сообщение отредактировал
demanik - Пт, 15.05.2009, 00:19
|
|
|
|
DimDIk |
Дата: Пт, 15.05.2009, 00:29 | Сообщение # 14 |
Группа:
Пользователи
Ранг:
Начал соображать
Сообщений:
20
Замечания:
±
На сайте с 28.12.2008
Статус:
Offline
|
По моему это немного не то,ведь формат float в протоне имеет размер 4-ре байта, мне необходимо каждую тетраду перекодировать вот так: 0000 -> 'G' = 0x47 0001 -> 'H' = 0x48 0010 -> 'I' = 0x49 0011 -> 'J' = 0x4a 0100 -> 'K' = 0x4b 0101 -> 'L' = 0x4c 0110 -> 'M' = 0x4d 0111 -> 'N' = 0x4e 1000 -> 'O' = 0x4f 1001 -> 'P' = 0x50 1010 -> 'Q' = 0x51 1011 -> 'R' = 0x52 1100 -> 'S' = 0x53 1101 -> 'T' = 0x54 1110 -> 'U' = 0x55 1111 -> 'V' = 0x56 В итоге на выходе должно получиться 8 байт в виде "G","O","S","O","V","L","S","J" которые я уже буду передавать.
|
|
|
|