Отличия в коде

нашел в интернетах код для avrstudio

  1. interrupt [TIM0_OVF] void timer0_ovf_isr(void)
  2. {
  3. TCNT0=0x0F;
  4. }

компилятор (CrossPack) выдал ошибку
  1. error: `TIM0_OVF' undeclared here (not in a function)

поменял код на
  1. ISR (TIMER0_OVF_vect)
  2. {
  3. TCNT0=0x0F;
  4. }

все получилось. я правильно понял что это одно и то же?

Еще ругался на код:

  1. PORTD.5=0;

  1. (error: syntax error before numeric constant)

поменял на
  1. PORTD=(0<<5);

вроде бы скушало. это одно и то же?

всякие warnings - это как я понял не страшно и не шибко важно.

еще ругался на конструкции

  1. #asm
  2. ...
  3. #end asm

- переделал на
  1. asm("");

с прерываниями вместо

  1. asm("cli");
пришлось переделывать на
  1. cli();
- ошибки ушли.
зато появились такие:
  1. /var/folders/OQ/OQQ-7MUBGRSsK-owpagsPk+++TI/-Tmp-//ccfnxM6C.s: Assembler messages:
  2. /var/folders/OQ/OQQ-7MUBGRSsK-owpagsPk+++TI/-Tmp-//ccfnxM6C.s:11: Error: expected comma after "__w1_port"
  3. /var/folders/OQ/OQQ-7MUBGRSsK-owpagsPk+++TI/-Tmp-//ccfnxM6C.s:12: Error: expected comma after "__w1_bit"
  4. make: *** [main.o] Error 1

и здесь уже что делать - я не знаю.
но по предыдущим вопросам - хотелось бы понять, эквивалентные ли это конструкции.

Это и есть то различие в

Это и есть то различие в синтаксисе для компиляторов winavr и CVAVR, про которые я рассказывал здесь: http://avrlab.com/node/17

Конструкции приведенные выше аналогичны между собой.

На варнинги смотреть стоит, так как они не зря вылазят. Но в большинстве случаев народ на них забивает.

Варнинги вконце требуют запятую, где и как - нужно смотреть код.

с запятой разобрался - в моей

с запятой разобрался - в моей IDE (если так можно выразиться) отсутствовала готовая библиотека 1wire (которая есть в CVAVR и где-то еще) - в инете нужного файла не нашел - забил пока на 1wire. попробую чуть позже разобрать с проектом с этого сайта - в конце концов, разница между выводом на ЖКИ и на семисегментные приборы не такая уж большая, да и код вроде бы у вас понятнее, логичнее и грамотнее.

По компилятору советую

По компилятору советую придерживаться одного, а то будешь путаться потом.

warnings - надо смотреть! Привожу пример:
я для типа данных int когда-то пытался задать значение 50 000, мне писало предупреждение но я не читал.
И соответственно программа работала криво пока не прочитал и не исправил.
Я всегда читаю что пишет компилятор, так как можно важные замечания пропустить и потратить впустую много времени при отлавливании багов.

Так же обязательно к прочтению Краткое Руководство по языку Си для микроконтроллеров

стараюсь так и действовать

стараюсь так и действовать :-)