GNU GCC компилятор команда outb(adr, data)

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

GNU GCC компилятор команда outb(adr, data)

Сообщение Mozart »

комманда outb(adr, data) делает следующее "adr = data", это если верить "avrlibdefs.h", а не проще ли было бы, если написать в программе adr = data?
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Реклама
SfS
Друг Кота
Сообщения: 19408
Зарегистрирован: Пт янв 12, 2007 11:21:39
Откуда: Томск

Re: GNU GCC компилятор команда outb(adr, data)

Сообщение SfS »

Mozart писал(а):комманда outb(adr, data) делает следующее "adr = data", это если верить "avrlibdefs.h", а не проще ли было бы, если написать в программе adr = data?
out - это вывод в порт ввода-вывода.
Это не то же самое (вернее не всегда тоже самое), что и запись в пямять.
Реклама
Аватара пользователя
Mozart
Мучитель микросхем
Сообщения: 413
Зарегистрирован: Пт мар 10, 2006 12:23:05
Откуда: Moscow
Контактная информация:

Сообщение Mozart »

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

#ifndef outb
    #define outb(addr, data)	addr = (data)
#end
это в асме out - вывод в порт, а в СИ outb?? какой смысл в этом?
если после прочитанной книги что-то в голове осталось, радуйся. Голова работает на тебя!!!
Аватара пользователя
Iron Rat
Нашел транзистор. Понюхал.
Сообщения: 156
Зарегистрирован: Чт сен 14, 2006 10:57:27
Откуда: Санкт-Петербург
Контактная информация:

Сообщение Iron Rat »

Если память мне не изменяет, в древних версиях avr-libc "официальный" доступ к портам был через outb :)
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Spider
Опытный кот
Сообщения: 732
Зарегистрирован: Чт дек 29, 2005 07:29:25
Откуда: Омск
Контактная информация:

Сообщение Spider »

Iron Rat писал(а):Если память мне не изменяет, в древних версиях avr-libc "официальный" доступ к портам был через outb :)
Ты прав. Сейчас эта функция сохранена как дефайн ради совместимости, а в ВинАВР и того не осталось.
Реклама
Ответить

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