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

 
 
> Как передать адрес порта в функцию?, IAR
AVR
сообщение May 14 2006, 21:55
Сообщение #1


фанат Linux'а
*****

Группа: Свой
Сообщений: 1 353
Регистрация: 23-10-05
Из: SPB.RU
Пользователь №: 10 008



Как передать адрес порта ввода-вывода в функцию в IAR-EW 4.11A?
Как записать и счиать ввнутри функции по этому адресу?


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Old1
сообщение May 15 2006, 06:52
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 697
Регистрация: 26-07-05
Из: Могилев
Пользователь №: 7 095



Цитата(AVR @ May 15 2006, 00:55) *
Как передать адрес порта ввода-вывода в функцию в IAR-EW 4.11A?
Как записать и счиать ввнутри функции по этому адресу?

Например так:
Код
void SetupBit(unsigned char* X, unsigned char Y, unsigned char Z)
{
   unsigned char* P_port=X;
   if(Z==IN0)
   {
     *P_port&=~(1<<Y);
     *(P_port-1)&=~(1<<Y);
   }
   else if(Z==IN1)
   {
     *P_port|=(1<<Y);
     *(P_port-1)&=~(1<<Y);
   }
   else if(Z==OUT0)
   {
     *P_port&=~(1<<Y);
     *(P_port-1)|=(1<<Y);
   }
   else if(Z==OUT1)
   {
     *P_port|=(1<<Y);
     *(P_port-1)|=(1<<Y);
   }
}

Обращение к функции:
Код
#define IN0 0
#define IN1 1
#define OUT0 3
#define OUT1 4
void main(void)
{
    SetupBit((unsigned char*)&PORTB,PB2,OUT1);
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 6th September 2025 - 15:08
Рейтинг@Mail.ru


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