Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

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

Пн янв 29, 2007 14:12:44

комманда outb(adr, data) делает следующее "adr = data", это если верить "avrlibdefs.h", а не проще ли было бы, если написать в программе adr = data?

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

Пн янв 29, 2007 14:39:03

Mozart писал(а):комманда outb(adr, data) делает следующее "adr = data", это если верить "avrlibdefs.h", а не проще ли было бы, если написать в программе adr = data?


out - это вывод в порт ввода-вывода.
Это не то же самое (вернее не всегда тоже самое), что и запись в пямять.

Пн янв 29, 2007 15:12:42

Код:
#ifndef outb
    #define outb(addr, data)   addr = (data)
#end


это в асме out - вывод в порт, а в СИ outb?? какой смысл в этом?

Пн янв 29, 2007 19:59:06

Если память мне не изменяет, в древних версиях avr-libc "официальный" доступ к портам был через outb :)

Пн янв 29, 2007 20:17:50

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