roboforum.ru

Технический форум по робототехнике.

Передача данных

Передача данных

Korbofos » 28 июн 2012, 09:27

Вопрос такой, в мк имеется переменная unsigned char со значением например 200. Как передать значение этой переменной что-бы это понял гипер терминал?

Re: Передача данных

legion » 28 июн 2012, 11:24

Хм... УАРТом, записав значение переменной в регистр UDR? Или тут все сложнее, чем кажется?

Re: Передача данных

Korbofos » 28 июн 2012, 11:37

Нужен пример на СИ как отправить эту переменную, чтобы терминал понял.
П.с. извиняюсь за корявый вопрос
Последний раз редактировалось Korbofos 28 июн 2012, 11:48, всего редактировалось 1 раз.

Re: Передача данных

legion » 28 июн 2012, 11:46

В даташите на МК в разделе USART есть примеры инициализации и использования на СИ.

Re: Передача данных

dccharacter » 28 июн 2012, 12:42

Вы что хотите увидеть в терминале? Число 200 или вот такой двойной уголочек, как стоит рядом с цифрой 200 на табличке "Extended ASCII Codes"????

Re: Передача данных

Korbofos » 28 июн 2012, 13:32

Надо число преобразовать в символы, и обратно. Как это сделать?

Re: Передача данных

dccharacter » 28 июн 2012, 14:02

Korbofos писал(а):Надо число преобразовать в символы, и обратно. Как это сделать?

Еще раз вопрос - что вы хотите послать (вроде выяснили - unsigned char var = 200; - да?) и что _конкретно_ вы хотите увидеть в терминале?

Re: Передача данных

Korbofos » 28 июн 2012, 14:09

я хочу увидеть значение этой переменной

Добавлено спустя 4 минуты 46 секунд:
Функции atoi() _itoa()?

Re: Передача данных

dccharacter » 28 июн 2012, 14:22

Korbofos писал(а):я хочу увидеть значение этой переменной

Добавлено спустя 4 минуты 46 секунд:
Функции atoi() _itoa()?

В каком, например, виде? Вид "с8" подойдет?

Re: Передача данных

legion » 28 июн 2012, 14:44

Если терминал не может отобразить принятый байт в форме десятичного числа, то используйте другую программу.

Re: Передача данных

dccharacter » 28 июн 2012, 14:55

legion писал(а):Если терминал не может отобразить принятый байт в форме десятичного числа, то используйте другую программу.

Да пусть он объяснит, что он хочет! Он хочет символ - а это не форма десятичного числа.

Ок, давай так: значение переменной 31. Что конкретно ты хочешь увидеть в терминале?

Re: Передача данных

Dmitry__ » 28 июн 2012, 14:58

Не кипятись, сказал он что хочет:
Korbofos писал(а):я хочу увидеть значение этой переменной

Korbofos писал(а):П.с. извиняюсь за корявый вопрос

Re: Передача данных

dccharacter » 28 июн 2012, 15:10

Нет маста, не сказал. Я хочу понять, что он хочет чтобы увидел его глаз. Потому что если он копает в сторону itoa(), то очень вероятно то, что он хочет увидеть единицу, а не 31. Кстати, я накосячил, а меня никто не поправляет. Значение переменной 0x31

Re: Передача данных

Korbofos » 28 июн 2012, 15:16

Я хочу увить значение в десятичном виде

Re: Передача данных

dccharacter » 28 июн 2012, 15:19

Korbofos писал(а):Я хочу увить значение в десятичном виде

О, маладца. Как насчет printf, sprintf?

unsigned char var = 0x31;
printf("Значение в десятичном виде переменной var: %u", var);

Вывод:
Значение в десятичном виде переменной var: 49


Rambler\'s Top100 Mail.ru counter