Как передать номер/адрес порта в подпрограмму

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Как передать номер/адрес порта в подпрограмму

Сообщение FUZZY_ »

Что- то типа для KEIL

void outport (port,data){

#asm

mov port, #data

#endasm
}


outport(P1,1);
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Как передать номер/адрес порта в подпрограмму

Сообщение Мурик »

Если речь про STM32, то давно уже придумано.

Код: Выделить всё

GPIO_SetBits(GPIOA, GPIO_Pin_0);
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Как передать номер/адрес порта в подпрограмму

Сообщение ARV »

в AVR-GCC через указатель

Код: Выделить всё

void output(volatile uint8_t *p, uint8_t d){
   *p = d;
}

output(&PORTB, 12);
только в данном контексте никакого смысла в том нет...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
FUZZY_
Потрогал лапой паяльник
Сообщения: 390
Зарегистрирован: Чт сен 24, 2009 17:22:51
Откуда: UK

Re: Как передать номер/адрес порта в подпрограмму

Сообщение FUZZY_ »

Спасибо за ответы - речь идет конкретно MCS-51 KEIL

Предложенные примеры не подходят под KEIL

void output(volatile u8 *p, u8 d){
*p = d;
}



В main:

output(&P1, 12); <---- main_8051.c(447): error C189: '&' on bit/sfr illegal
Ответить

Вернуться в «Разные вопросы по МК»