roboforum.ru

Технический форум по робототехнике.
Текущее время: 03 дек 2024, 18:56

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 104 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 08 янв 2012, 22:56 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
А что компилятор говорит по поводу программы?
В какой момент зависает Протеус?
Ваще-то лучше весь код опубликовать, тогда си-шники точно подскажут в чем проблема.
ЗЫ: я уже говорил, повторюсь - не лучше ли сначала светодиодом поморгать в Протеусе? :wink: Экономия времени и сил гарантирована в освоении софта. :)

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 13 янв 2012, 10:01 
Не в сети

Зарегистрирован: 28 окт 2010, 21:37
Сообщения: 52
Skype: independent645
Компилятор доволен! В момент когда я нажимаю на значок start. Я лучше с этим разберусь.

Добавлено спустя 10 минут 13 секунд:
Код:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.4a Advanced
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 13.01.2012
Author  : NeVaDa
Company :
Comments:


Chip type               : ATmega8L
Program type            : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega8.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=T State4=T State3=0 State2=0 State1=0 State0=0
PORTB=0x00;
DDRB=0x0F;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=1 State4=1 State3=0 State2=0 State1=0 State0=0
PORTD=0x30;
DDRD=0x3F;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
      {
      // Place your code here
         while(1) {
{if (PINB.0==0)
{PORTD.0=1 ;
PORTD.1=0;}}

{if (PIND.1==0)
{PORTD.0=0 ;
PORTD.1=1;}}

{if (PIND.2==0)
{PORTD.2=1;
PORTD.3=0;}}

{if (PIND.3==0)
{PORTD.2=0 ;
PORTD.3=1;}}
}

      };
      };



Мой код в CVavr


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 14 янв 2012, 18:49 
Не в сети

Зарегистрирован: 28 окт 2010, 21:37
Сообщения: 52
Skype: independent645
Помогите)) SOS)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 14 янв 2012, 20:52 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
не думаю что на сигнал SOS можно получить помощь, не зная координат и проблем терпящего бедствие. Среди людей ИМХО не писаный закон: "люди помогите! в доме пожар!" (есть описание проблемы и указано место катастрофы).
ИМХО: нужно указать проблему (конкретно) и в каком месте проблема (координаты), кроме того неплохо указать на почве чего она возникла, а так же чего хочется получить при ее решении.

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 14 янв 2012, 21:32 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Взглянул на твой код.
Ты уж определись, PORTD у тебя на вход или на выход работать будет :wink:

Добавлено спустя 7 минут 5 секунд:
Да и PORTB тоже непонятно.
INDEPENDENT писал(а):
DDRB=0x0F;

вроде как PORTB.0 установлен на выход,
а тут ты его опрашиваешь как вход
INDEPENDENT писал(а):
if (PINB.0==0)

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 14 янв 2012, 22:55 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
ага, я уже писал об этом:
Vovan писал(а):
сразу у меня вопрос (хоть я в си ни бум-бум :roll: )
If (PINB.0==1) почему?

но INDEPENDENT ответил:
INDEPENDENT писал(а):
Я лучше с этим разберусь.
я и не вмешивался :roll:
А ваще INDEPENDENT тому кто "стучится в дверь, откроют ее", не стесняйся - пиши задавай вопросы, глядишь и выплывем, ничего в этом страшного нет - инфа лишней не бывает...
Народ, бывает такие вопросы задает - что просто падаешь навзничь, хоть и сидишь.........

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 13:29 
Не в сети

Зарегистрирован: 28 окт 2010, 21:37
Сообщения: 52
Skype: independent645
Код:
/*****************************************************
This program was produced by the
CodeWizardAVR V2.04.4a Advanced
Automatic Program Generator
© Copyright 1998-2009 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project :
Version :
Date    : 15.01.2012
Author  : NeVaDa
Company :
Comments:


Chip type               : ATmega8L
Program type            : Application
AVR Core Clock frequency: 8,000000 MHz
Memory model            : Small
External RAM size       : 0
Data Stack size         : 256
*****************************************************/

#include <mega8.h>

// Declare your global variables here

void main(void)
{
// Declare your local variables here

// Input/Output Ports initialization
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=Out Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=T State4=T State3=1 State2=1 State1=1 State0=1
PORTB=0x0F;
DDRB=0x0F;

// Port C initialization
// Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In
// State6=T State5=T State4=T State3=T State2=T State1=T State0=T
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out
// State7=T State6=T State5=1 State4=1 State3=0 State2=0 State1=0 State0=0
PORTD=0x30;
DDRD=0x3F;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
TCCR0=0x00;
TCNT0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
MCUCR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

while (1)
      {
      // Place your code here
          while(1) {
{if (PINB.0==0)
{PORTD.0=1 ;
PORTD.1=0;}}

{if (PIND.1==0)
{PORTD.0=0 ;
PORTD.1=1;}}

{if (PIND.2==0)
{PORTD.2=1;
PORTD.3=0;}}

{if (PIND.3==0)
{PORTD.2=0 ;
PORTD.3=1;}}
}

      };
      };

Я исправил, наверно я , что то не понимаю, грустно. Программа ISIS зависает, и Window 7 моментально предлагает ее закрыть. Подскажите в чем ошибка, пожалуйста, вроде все исправил.

Добавлено спустя 1 минуту 22 секунды:
Спасибо, что Вы помогаете!


Вложения:
Безымянный.png
Безымянный.png [ 41.6 КиБ | Просмотров: 1872 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 14:10 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
INDEPENDENT писал(а):
Я исправил

Ничего ты не исправил.
Надо правильно настроить порты ввода/вывода. Ты используешь PORTB для кнопок, а PORTD для управления драйвером.
Значит надо настроить PORTB на вход:
DDRB=0x00;
Включить подтягивающие резисторы:
PORTB=0x0F;
А PORTD настроить на выход:
DDRD=0x3F;

З.Ы. выложи проект в протеусе, посмотрим.

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 14:33 
Не в сети

Зарегистрирован: 28 окт 2010, 21:37
Сообщения: 52
Skype: independent645
Вот, выложил. Я использую CodeWizardAVR для проставления портов, и там ,как я понял, я делаю грубейшие ошибки, так как не понимаю. Я не владею языком си, владею паскалем.


Вложения:
контроллер.rar [17.98 КиБ]
Скачиваний: 0
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 18:11 
Не в сети
Аватара пользователя

Зарегистрирован: 05 окт 2005, 12:03
Сообщения: 3340
Откуда: Литва
прог. языки: asm
Для написания такой программы (я мождь ошибаюсь :oops: ) проще ознакомиться всё таки с си и осознанно написать сию крохотную програмульку на осознанном си... Я вот не шарю, но точно знаю - сумел бы максимум за час. Потому что точно знаю ЧЕГО ХОЧУ, но не умею это написать на си, для этого бы и ознакомился с начальными командами си :)
Метод тыка - штука нужная, не отрицаю, но не в этом случае, т.к. здесь он мне напоминает такое: Чел. не знает немец., но знает неск. слов на немец. и перебирая их методом тыка пытается завязать диалог с немцем...
Такое или похожее по сути, кстати в каком-то фильме видел...
Потом чувак махнул рукой, объявив что мол немец просто не грамотный, или глухой, что-то типо того...

_________________
_________
Sincerely,
Vovan


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 18:26 
Не в сети

Зарегистрирован: 28 окт 2010, 21:37
Сообщения: 52
Skype: independent645
Простейшие команды знаю :присвоение значения переменные, циклы, условия. Я не понимаю по какому принципу работают порты и в каком случае in а в каком out


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 19:37 
Не в сети

Зарегистрирован: 09 авг 2011, 17:15
Сообщения: 104
Откуда: Волжский
Тут надо исходить из задачи. Кнопка - что такое? В общем случае - устройство управления, ты кнопкой управляешь, а значит ВВОДИШЬ информацию в систему.
А двигатели - это что такое? Это исполнительные механизмы, вместе с драйвером двигателей. Ты ими управляешь, для этого надо из системы управления ВЫВЕСТИ информацию. Соответственно те ноги микросхемы, к которым подключены кнопки надо настроить на ВВОД. А те, к которым подключены двигатели - на ВЫВОД. Как это сделать - надо читать справку по своей среде программирования. Выше написали, как на ассемблере. На Си можно делать вставки ассемблера, на CVAVR, возможно, для этого используется специальный оператор. Как определить, какие конкретно ноги порта настроить - надо читать даташит на микросхему-контроллер.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 19:55 
Не в сети
Аватара пользователя

Зарегистрирован: 23 окт 2007, 22:03
Сообщения: 3037
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец
Рекомендую:http://www.avr123.nm.ru/

_________________
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 19:57 
Не в сети

Зарегистрирован: 28 окт 2010, 21:37
Сообщения: 52
Skype: independent645
Код:
Сигнатура проблемы:
  Имя события проблемы:   APPCRASH
  Имя приложения:   ISIS.EXE
  Версия приложения:   7.5.3.7401
  Отметка времени приложения:   00000000
  Имя модуля с ошибкой:   StackHash_0f84
  Версия модуля с ошибкой:   6.1.7601.17514
  Отметка времени модуля с ошибкой:   4ce7ba58
  Код исключения:   c0000374
  Смещение исключения:   000ce653
  Версия ОС:   6.1.7601.2.1.0.256.1
  Код языка:   1049
  Дополнительные сведения 1:   0f84
  Дополнительные сведения 2:   0f8433cce75775c9477032d566da5888
  Дополнительные сведения 3:   02bb
  Дополнительные сведения 4:   02bb91f41830cac57807397b0543563f

Ознакомьтесь с заявлением о конфиденциальности в Интернете:
  http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0419

Если заявление о конфиденциальности в Интернете недоступно, ознакомьтесь с его локальным вариантом:
  C:\Windows\system32\ru-RU\erofflps.txt

У меня windows 64 битная. Может из-за этого ошибка?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нужна помошь в освоении proteus.
СообщениеДобавлено: 15 янв 2012, 19:59 
Не в сети

Зарегистрирован: 09 авг 2011, 17:15
Сообщения: 104
Откуда: Волжский
Не знаю, как 7.5 версия, у меня 7.7 sp2 утащенная с торрентов на windows7 x64 работает без падений.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 104 ]  На страницу Пред.  1 ... 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO