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

 
 
> 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
Ответов
andron86
сообщение Mar 1 2006, 07:23
Сообщение #2


Местный
***

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



Извините забыл доавить!

cmd объявленна как unsigned char
Go to the top of the page
 
+Quote Post
Shamil
сообщение Mar 1 2006, 08:20
Сообщение #3


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

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



Цитата(andron86 @ Mar 1 2006, 12:23) *
Извините забыл доавить!
cmd объявленна как unsigned char

Это ничего не меняет, значение 0xFF в ней
будет соответствовать -1, при сравнении.

Для того чтобы твой код работал,
cmd надо объявить как short (т.е. двухбайтовую знаковую переменную)

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



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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 02:58
Рейтинг@Mail.ru


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