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

 
 
> IAR - работа с типами данных, Как выделить младший страший байт
prottoss
сообщение Jul 25 2005, 18:03
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Господа, может быть вопрос глупый и избитый. Не могу в IAR добиться выделить из переменной типа int старший или младший байт стандартными макросами - их просто нет (по моему) в IAR

Примерно вот так хочу

void fun(void)
{ char a, b;
int c

.........

a = Hi©;
b = Low©;

..........
}

Не охота заморачиваться с написанием собственных типов данных и объединений
Если кто знает как решить проблему просто, напишите

С уважением, Андрей


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
prottoss
сообщение Jul 26 2005, 10:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Спасибо ребята, пока суть да дело я в это же вечер допетрил

Цитата
a= c & 0xff; // младший
b= (c>>8) & 0xff // старший


работает так же
а = (char)c;
b= (char)(c >> 8);

без 0xFF

Цитата
a=*((char *)&c);
b=*(((char *)&c)+1);


А эта штука незаменима при работе с переменными в памяти данных.

Спасибо еще раз.
С уважением, Андрей


--------------------
Go to the top of the page
 
+Quote Post



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

 


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


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