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

 
 
> Указатель на порт, Не работает как надо
Decan
сообщение Jul 27 2008, 21:07
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 29
Регистрация: 26-10-05
Из: Киев
Пользователь №: 10 128



Доброго времени суток!

Есть массив структур:
Код
typedef struct
{
uchar volatile *port;
uchar bit;
} IND_HARDWARE;

__flash IND_HARDWARE ind_hw[] =
{ //{порт,бит}
  {&PORTC,0},
  {&PORTC,1},
  {&PORTC,2},
  {&PORTC,3},
  {&PORTB,4},
  {&PORTB,5}
};

На описанных лапах портов висят разные индикационные девайсы(светодиоды,пищалки).
Трабла в следующем. При попытке обратиться к порту таким образом:
Код
&(ind_hw[0].port)&=~(1<<(ind_hw[0].bit));

Компайлер ругается:
Error[Pe137]: expression must be a modifiable lvalue
Проблема именно с портом, поскольку матерится и в том случае, если вместо правой части стоит число.
Пробовал обратиться таким способом(уже методом тыка):
Код
ind_hw[0].port|=0x80;

Получил в ответ:
Error[Pe031]: expression must have integral type
Как правильно обращаться с указателем на порт?
Камень - атмега168.


--------------------
Объективная реальность - есть бред, порождённый недостатком алкоголя в организме...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 12:22
Рейтинг@Mail.ru


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