5 / 5 / 2
Регистрация: 24.01.2013
Сообщений: 76
1

Hex to Ascii

29.01.2016, 18:03. Показов 4225. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет!
Работаю с АЦП, и ему надо отправить ascii код (55H 55H 00H 00H AAH). (в виде char будет (UU ª), просто так отправить не удалось)
Попробовал отправить hex (55 55 00 00 AA), не принимает.
Кто-нибудь может мне помочь вывести строчку "UU ª" хотя бы на командную строку?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2016, 18:03
Ответы с готовыми решениями:

Перевод из HEX в ASCII и ещё кое - что
Народ, как строку в HEX типа 3A 30 31 30 36 перевести в ASCII типа :0106 ? А как наоборот? А...

Запись в файл значения int (hex,ascii)
Задача: Записать в файл значение int == 0x52494646 ("RIFF" in ASCII form) #include "stdafx.h"...

Если HEX одного файла заменить на HEX другого, то изменится ли файл и будет ли работоспособным?
Привет, если два файла a.exe(калькулятор) и b.exe(выводит строку "Hello World") Если открыть файл...

[BMP] HEX (из HEX-редактора) в DEC
Имеется файл *.bmp (который нельзя вложить в сообщение). В самом файле есть его свойства (размер и...

4
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 474
Записей в блоге: 4
29.01.2016, 19:30 2
printf у вас есть? Шестнадцатеричные константы начинаются с \x
C
1
2
printf("\x55\x55\x00\x00");
printf("\xaa\n");
0
5 / 5 / 2
Регистрация: 24.01.2013
Сообщений: 76
29.01.2016, 20:14  [ТС] 3
Alexandr_1982, Спасибо, что ответили.

По-разному попробовал отправить, АЦП не отвечает.

C++
1
2
3
sprintf(str,"\x55\x55\x00\x00\xAA");
    qDebug("ASCII: %s", str);
    port->write(str);
С помощью Matlab я отправляю так, работает, но работает медленно, поэтому и перешел на С++
Matlab M
1
2
3
4
obj1 = serial('COM3');
ascii_codes = [85 85 0 0 170];
h1=char(ascii_codes);
 fwrite(obj1,h1);
0
191 / 90 / 33
Регистрация: 04.11.2013
Сообщений: 474
Записей в блоге: 4
29.01.2016, 21:17 4
Может нужно port->read после port->write, чтобы узнать ответ от АЦП?
Командная строка на АЦП (индикатор?)?
\x0 является окончанием строки, поэтому может потребоваться разбить отправку.
0
5 / 5 / 2
Регистрация: 24.01.2013
Сообщений: 76
31.01.2016, 13:15  [ТС] 5
Alexandr_1982, Вы правы, \x0 является окончанием строки, и ascii код полностью не передается.

После port->read у меня есть port->write, и он ничего не выдает (а в matlabe работает...)

Отправку я могу разбить, но вот не понимаю, как передать hex (00)?

Если передать

C++ (Qt)
1
2
char *str = "\x00";
printf("ASCII: %s", str);
то ничего не передается (так как, как вы уже написали, "\x0 является окончанием строки")

Добавлено через 23 часа 53 минуты
Дааа, пару дней я на это потратил))
Вот решение:

C++ (Qt)
1
2
3
4
5
6
7
8
9
QByteArray ba;
    ba.resize(5);
    ba[0] = 0x55;
    ba[1] = 0x55;
    ba[2] = 0x00;
    ba[3] = 0x00;
    ba[4] = 0xaa;
 
    port->write(ba);
P.s: Если вам надо отправить NULL(NUL) вместо \x00 надо отправлять \0, но почему-то у меня не сработало..

Добавлено через 2 минуты
Может кому пригодится, все коды ASCII через Escape Sequence (не знаю как будет на русском)

C++ Reserved or Non-graphic Characters
0
31.01.2016, 13:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.01.2016, 13:15
Помогаю со студенческими работами здесь

Std::count << std::hex << (long) 0x0a; Как сделать, чтоб от HEX значения ноль при выводе не убирался?
сабж...( std::count &lt;&lt; std::hex &lt;&lt; (long) 0x0a; ) выводится просто a, вместо 0а, а надо чтоб...

Как разбить одно число HEX число на два числа HEX ?
Задача в том, что бы одно число в виде HEX (к примеру 0xD681) разбить на 2 числа HEX (из 0xD681 - &gt;...

Как преобразовать hex в ascii (HEX редактор)
Написал: String ^in; openFileDialog1-&gt;Filter = &quot;hex Files|*.hex&quot;; openFileDialog1-&gt;Title =...

ASCII to HEX, HEX to Binary/Assembly 8086
Люди добрые, есть проблема, надо написать программу которая получает с клавиатуры какие-нибудь...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru