реклама на сайте
подробности

 
 
> UART 0xFF проблема, считывание 0xff
andron86
сообщение Mar 1 2006, 06:34
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 406
Регистрация: 1-03-06
Пользователь №: 14 821



Привет всем, помогите пожалуйста с проблемой!

Никак не могу считать 0xff. Конкретнее:c СОМ порта пытаюсь считать телеграмму с конечным байтом 0xff - все, кроме этого, байты, принимаются без проблем. help.gif

Использую в C8051F124,Keil c51, UART0 38400/1stopbit и такой алгоритм:

Код
  for(Temp = 0; Temp<8; Temp++)
{
while(cmd = getchar())
        if(cmd != -1) break;
          if(cmd==0xff){ temp2[i]=cmd; break;}
temp1[count]=cmd;        
}


помогите студенту, плиз!!!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shamil
сообщение Mar 1 2006, 07:13
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 160
Регистрация: 23-12-04
Из: Уфа
Пользователь №: 1 631



Цитата(andron86 @ Mar 1 2006, 11:34) *
Никак не могу считать 0xff. Конкретнее:c СОМ порта пытаюсь считать телеграмму с конечным байтом 0xff - все, кроме этого, байты, принимаются без проблем.

Код
        while(cmd = getchar())
                if(cmd != -1)
                        break;

        if(cmd==0xff)
        {
                temp2[i]=cmd;
                break;
        }


Вы, к сожалению, не привели описание переменной cmd.
Если она описана как char, т.е. байт со знаком,
то значения 0xFF и -1 совпадают, и соответственно
эти значения пропускаются вашим же while.

P.S. Если Вы только учитесь, настоятельно рекомендую
следить за форматированием текста программ, не надо
экономить строки.

Сообщение отредактировал Shamil_Yusupov - Mar 1 2006, 07:20
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016