Цитата(Denis89 @ Apr 10 2009, 16:52)

Ну знаете, не я макросы к WinAVR писал.
Кто-то же писал? И этот кто-то - простой человек. Так почему вы не в состоянии?
Цитата
А насчёт узнаваемости и простоты, то вы как думаете, я что, не пробовал различные конструкции кода чтобы определить что там на ноге 0 или 1?

Видимо не пробовали.
Цитата
Насчёт тупого Copy/Paste кода, на данный момент у меня нет никакого времени разбираться с особенностями IAR.
Нет никаких особенностей. Точнее их количество минимально и они чётко описаны. Чем этот компилятор и подкупает.
Цитата
Мне ещё надо сделать очень немало в пректе, Первую часть на которой будет дисплей, кнопки, датчики, и интерфейс RS232 я буду писать на WinAVR, благо проблем с ним никогда небыло.
Если вы не будете знать основ.... А это основы... то вы не то чтобы "очень много", а вообще ничего не сделаете в вашем проекте.
Цитата
Посмотрите исходник из архива main.c. Разве это сложно сказать где я не прав и исправить ошибку?
P.S. Потом я обязательно буду учить С++ в чистом виде, даже и ASM захвачу, но сейчас я просто прошу помощи с кодом

Это самообман. "Потом" никогда не состоится. "Потом" вы будете считать себя крутым и вообще не полезете в учебник. Надо именно сейчас. Преодолеть свою лень. Как говорится день потратим, потом за час долетим...
Цитата
Вообщем пока помощи дождёшься, борода блин отростёт
Я конечно понимаю, копаться в чужом белье как и программном коде не очень то приятно, но зачем ветку эту тогда назвали "в помощь начинающему"
Проблему решил, не знаю каким мокаром(наверно Кевин, Митник который, благословил меня по интернету

)
Код
if (PINC & (1 << PC7))
{
PORTD_Bit0 = 0;
}else PORTD_Bit0 = 1;
Здесь просто проверял рабочесть кода, помигать светодиодом чтоб.

Код
if (PINC & (1 << PC7))
{
PORTD &= ~(1<<PD0);
}else PORTD |= (1<<PD0);
Так будет затронут только один бит порта, а не весь порт как у вас.
Код
#define L_YES 0 // Светодиод "YES"
#define L_YES_DDR DDRD
#define L_YES_PORT PORTD
#define L_YES_OFF L_YES_PORT |= (1<<L_YES)
#define L_YES_ON L_YES_PORT &= ~(1<<L_YES)
#define L_YES_BLINK L_YES_PORT ^= (1<<L_YES)
#define L_YES_INIT L_YES_DDR |= (1<<L_YES)
#define KEY_YES 7 // Кнопка "YES"
#define KEY_YES_DDR DDRC
#define KEY_YES_PIN PINC
#define IN_KEY_YES (KEY_YES_PIN & (1<<KEY_YES))
#define L_YES_INIT KEY_YES_DDR &= ~(1<<KEY_YES)
Код
if (IN_KEY_YES) L_YES_OFF;
else L_YES_ON;
Вот и все макросы, для примера