Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Указатель на регистр это volatile char *name = &addr; Уазателей на бит не бывает. Но можно пойти другим путем(+)

Отправлено F8 05 декабря 2009, г. 09:01
В ответ на: Подскажите как сделать в IAR для AVR. Мне нужна переменная-указатель на регистр таймера и на би...{+} отправлено пользователем студент_прохладной_жизни 05 декабря 2009, г. 08:30


Пишеш функцию которая управляет битом порта, например
void SetBitA1(char state)
{//Управляет битом 1 порта А

}

void SetBitB3(char state)
{//Управляет битом 3 порта B

}

И вместо указателя на бит используеш указатель на функцию. Например

void BlinkLed(void(*p_funk)(char)) //Для моргания светодиодом используется указатель p_funk.
{
p_funk(1);
sleep(200);
p_funk(0);

}

BlinkLed(SetBitA1); //моргнуть светодиодом на порте А1
BlinkLed(SetBitB3); //моргнуть светодиодом на порте B3

void(*pBlinkPin)(char); //Обьявляем глобальную переменную-указатель на функцию

pBlinkPin = SetBitA1;

pBlinkPin(1); Установить на порте А1 '1'.



Составить ответ | Вернуться на конференцию.

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru