Пятница, 29.03.2024, 15:24
Микроконтроллерная техника AVR
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Микроконтроллеры » Вопросы по статьям » Не компилируется проэкт.. (Не компилируется проэкт в codevision)
Не компилируется проэкт..
master3763Дата: Пятница, 30.03.2012, 00:36 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Здравствуйте !

Помогите разобратся с компиляцией проэкта.
Пишу вот эту программу термостата : http://my-avr.at.ua/publ/1-1-0-11 с помощю мастера Wizard.

Полсе компиляции получаю
Error: C:\...\termostat\List\term.asm(1420): Invalid redefinition of '__w1_port'
Error: C:\...\termostat\List\term.asm(1421): Invalid redefinition of '__w1_bit'

Какой CodeVision вы используете ? У меня версия 2.05.4 Evalution. Может не той версией пользуюсь ?
 
HiSERДата: Суббота, 31.03.2012, 08:29 | Сообщение # 2
Продвинутый автор!
Группа: Проверенные
Сообщений: 254
Репутация: 11
Статус: Offline
hi
ПроЕкт!!!

обрати внимание на
Code

#asm
    .equ __w1_port=0x18 ;PORTB
    .equ __w1_bit=0
#endasm  
 
master3763Дата: Воскресенье, 01.04.2012, 12:01 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Здравствуйте. А на что именно обратить внимание ?

Понятно что в этих строчках кода сообщаем куда подключен датчик. Тоесть на порт B и на пин B.0. Еще можно заметить что код должен быть вот в таком виде :

Code

#asm
     .equ __w1_port=0x18; PORTB
     .equ __w1_bit=0
#endasm  


Но думаю разницы некакой. Проект без изменений, не компилируется... Делаю так как описанно в статье, через мастер wizard настраиваю протокол 1-wire на порт B пин 0.

Может всетаки это связанно с версией CodeVision ? У меня CodeVision 2.05.4 Evalution.
 
HiSERДата: Понедельник, 02.04.2012, 23:15 | Сообщение # 4
Продвинутый автор!
Группа: Проверенные
Сообщений: 254
Репутация: 11
Статус: Offline
Возможно в компиляторе ограничения...
 
master3763Дата: Понедельник, 02.04.2012, 23:45 | Сообщение # 5
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
А как убрать эти ограничения ? Или всетаки мне установить какую нибудь другую версию CodeVision ?
Какую посоветуете и где можно было бы ее скачать вместе с кряком ?
 
HiSERДата: Вторник, 03.04.2012, 00:14 | Сообщение # 6
Продвинутый автор!
Группа: Проверенные
Сообщений: 254
Репутация: 11
Статус: Offline
версию не Evalution!
 
master3763Дата: Вторник, 03.04.2012, 00:53 | Сообщение # 7
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Скажите пажалуйста а это точно правильный синтаксис программы ?

Code
#asm
        .equ __w1_port=0x18; PORTB
        .equ __w1_bit=0
#endasm     


Или мможет надо делать так ?

Code

#asm
        .equ _w1_port=0x18; PORTB
        .equ _w1_bit=0
#endasm    
    


Сообщение отредактировал master3763 - Вторник, 03.04.2012, 00:54
 
HiSERДата: Вторник, 03.04.2012, 13:31 | Сообщение # 8
Продвинутый автор!
Группа: Проверенные
Сообщений: 254
Репутация: 11
Статус: Offline
в ошибке у тебя имя константы было. соответственно первый правильно.
Урезанная версия компилятора не разрешает использовать библиотеку, либо не в том месте стоит #asm....#endasm.
 
master3763Дата: Вторник, 03.04.2012, 16:10 | Сообщение # 9
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Скачал заново CodeVision Profesional 2.05.0 . Крякнул вродебы. Компиляция проходит успешно, только вот после Project -- > Build All

выводит также

Error: C:\...\termostat\List\term.asm(1420): Invalid redefinition of '__w1_port'
Error: C:\...\termostat\List\term.asm(1421): Invalid redefinition of '__w1_bit'

Некак не могу разобратся! Пробовал писать в ручную весь код

Code

#asm
         .equ __w1_port=0x18; PORTB
         .equ __w1_bit=0
#endasm     


Ничего не получается. Скорее дело в Codevision... А где можно достать полную версию компилятора CodeVision ?

 
HiSERДата: Вторник, 03.04.2012, 18:20 | Сообщение # 10
Продвинутый автор!
Группа: Проверенные
Сообщений: 254
Репутация: 11
Статус: Offline
покажи весь код
 
master3763Дата: Вторник, 03.04.2012, 19:19 | Сообщение # 11
Рядовой
Группа: Пользователи
Сообщений: 6
Репутация: 0
Статус: Offline
Code

#include <mega8.h>
#include <delay.h>
#asm
    .equ __w1_port=0x18 ;PORTB
    .equ __w1_bit=0
#endasm
#include <1wire.h>

#include <ds18b20.h>
void main(void)
{

   unsigned char devices;
   int temp;
   devices = w1_init();
   
PORTD = 0x00; //Выставляем все выходы порта D на 0, то есть, выключаем весь порт D
DDRD = 0xFF;
while(devices>0)
{            
              
       temp=ds18b20_temperature(0);  //читаем температуру                       
        
           if (temp>1000)                      //если датчик выдаёт больше 1000
             {              
                 temp=4096-temp;            //отнимаем от данных 4096
                 temp=-temp;                //и ставим знак "минус"
              }

        if (temp<18)                          // устанавливаем нижней порог
          PORTD.0 = 1;     
          else PORTD.0=0;
        if (temp>28)                         // установим верхний порог
           PORTD.1=1;
        else PORTD.1=0;
       
         }     

}  
 
Alik77Дата: Четверг, 28.06.2012, 22:01 | Сообщение # 12
Рядовой
Группа: Пользователи
Сообщений: 1
Репутация: 0
Статус: Offline
Код написан правильно и у меня компилируется нормально
в CodeVisionAVR 1.25.5 Professional


Проблема в компиляторе.


Сообщение отредактировал Alik77 - Четверг, 28.06.2012, 22:02
 
Форум » Микроконтроллеры » Вопросы по статьям » Не компилируется проэкт.. (Не компилируется проэкт в codevision)
  • Страница 1 из 1
  • 1
Поиск:

Хостинг от uCoz