роботы робототехника микроконтроллеры


 Страниц (6): [1] 2 3 4 5 6 »   

> Без описания
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



можно ли запрограммировать микропроцессор ATmega8-16pu при помощи программы arduino,
и USBASP 2.0? Если нет то какую программу для этого лучше использовать где ее можно скачать. Заранее благодарен.
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



ATmega8 - микроконтроллер.
Запрограммировать при помощи программы arduino можно, только при условиях - есть еще и ардуино-плата под такой контроллер и в контроллере уже вшит загрузчик.

Запрограммировать при помощи USBASP 2.0 можно, без всяких ардуин. По идее АВР-студия должна знать USBASP.
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



Благодарю. Одобряю Одобряю
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



начал недавно заниматься программированием, но возникла проблема ввожу вот эту программу:
#include <mega8.h>
#include <delay.h>

void main(void)
{

PORTB=0x02;
DDRB=0x01;

while (1)
{

if(PINB.1==0)
{
PORTB.0=1;
delay_ms(100);
PORTB.0=0;
delay_ms(100);
}

}
}

выдает вот эту ошибку:
Error 1 mega8.h: No such file or directory

не подскажите что делать???
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



А в какой среде программируете? Очень может быть, что нету у вас mega8.h.
попробуйте вот так:
CODE:

#include <avr/io.h>
#include <util/delay.h>
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



вроде заменил но компилятор вывел мне кучу ошибок,хотя по идее код правильный,для точности вставлю получившийся код:

#include <avr/io.h>
#include <util/delay.h>

void main(void)
{
while (1)
{
while (PIND.0==1) {}
if (PINB.0==1)
{ PORTB.0=0; }
else
{ PORTB.0=1; }
while (PIND.0==0) {}
};

ошибок много вроде:

Error 2 'fabs' was not declared in this scope
Error 13 expected ';' before 'Подмигивающий' token
Error 6 '::main' must return 'int' и т.д.
Что это может быть и как это можно исправить.
Не подскажете????'
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



итак похоже, что программируете под Atmel Studio, а исходник взят под что-то дугое.

на сообщение об ошибке двойным кликом кликните - перейдёт на место её возникновения.
На вскидку у вас в настройках проекта не указан чип - от этого большинство ошибок.
Alt+F7 => Device

и кроме этого:
CODE:

void main(void)
{
....
}


заменить на
CODE:

int main(void)
{
....
return (0);
}


дальше будем разбираться по мере...
 
 Top
Группа Инженеров Супермодератор Post Id



Супермодератор


Сообщений всего: 497
Дата рег-ции: Авг. 2008  



Цитата:
заменить на
CODE:

int main(void)
{
....
return (0);
}


У него же while (1) ниже открыт, всё норм.

Попробуйте вот так

CODE:
#include <avr/io.h>
#include <util/delay.h>

int main(int)
{
while (1)
{
while (PIND.0==1) {}
if (PINB.0==1)
{ PORTB.0=0; }
else
{ PORTB.0=1; }
while (PIND.0==0) {}
}
}



Просто глядя на код, я вижу, что не хватает одной фигурной скобки, а компилятор материться на тип void.
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



Цитата:
Попробуйте вот так

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

int main(void)
{
....
return (0);
}

получилось вот так,но все равно ошибки выдает. Незнаю может не у той скобки поставил return (0); ...вот посмотрите:

#include <avr/io.h>
#include <util/delay.h>

int main(void)
{
while (1)
{
while (PIND.0==1) {}
if (PINB.0==1)
{ PORTB.0=0; }
else
{ PORTB.0=1; }
while (PIND.0==0) {}
};
return (0);}

тоже кучу ошибок выдает...
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



сия затея с return должна избавить только от одной ошибки:
Error 6 '::main' must return 'int'

если от нее избавились - всё хорошо, работаем дальше.

вы свою кучу ошибок опубликуйте, без подробностей разобраться никак...
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



вот ошибки:
Warning 1 #warning "F_CPU not defined for <util/delay.h>"
Error 2 'fabs' was not declared in this scope
Error 3 'ceil' was not declared in this scope
Error 4 'fabs' was not declared in this scope
Error 5 'ceil' was not declared in this scope
Error 6 expected 'Подмигивающий' before numeric constant
Error 7 expected ';' before 'Подмигивающий' token
Warning 8 statement has no effect
Error 9 expected 'Подмигивающий' before numeric constant
Error 10 expected ';' before numeric constant
Error 11 expected ';' before numeric constant
Error 12 expected 'Подмигивающий' before numeric constant
Error 13 expected ';' before 'Подмигивающий' token
Warning 14 statement has no effect
ИТОГО: -2 ошибки, после того вставил
return (0)...
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



fabs и ceil - версии объявления данных, находятся в math.h
попробуйте добавить.
#include <util/math.h>
Если повезёт - проблема решится, если нет (math.h тоже будет ругаться на страшные слова и требовать еще библиотек) - проще будет выкосить
#include <util/delay.h> и сделать. Стоп. У вас уже не применяется delay.

сразу выкашивайте
#include <util/delay.h>
должно полегчать.
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



вот что получилось:
#include <avr/io.h>
#include <util/delay.h>
#include <util/math.h>
int main(void)
{
while (1)
{
while (PIND.0==1) {}
if (PINB.0==1)
{ PORTB.0=0; }
else
{ PORTB.0=1; }
while (PIND.0==0) {}
};
return (0);}

много ошибок ушло...остались вот эти :
Warning 1 #warning "F_CPU not defined for <util/delay.h>"
Error 2 util/math.h: No such file or directory
 
 Top
Predator Супермодератор Post Id


Супермодератор


Сообщений всего: 1307
Дата рег-ции: Июль 2012  



Error 2 util/math.h: No such file or directory - не нашлось math.h, дальше компилятор даже смотреть не стал.
сделайте этот кусочек так:
CODE:

#include <avr/io.h>
//#include <util/delay.h>
//#include <util/math.h>

должно полегчать.
 
 Top
Andrey 2004 Post Id



Капитан


Сообщений всего: 46
Дата рег-ции: Дек. 2018  



вот какие ошибки выдало:
Error 1 expected 'Подмигивающий' before numeric constant
Error 2 expected ';' before 'Подмигивающий' token
Warning 3 statement has no effect
Error 4 expected 'Подмигивающий' before numeric constant
Error 5 expected ';' before numeric constant
Error 6 expected ';' before numeric constant
Error 7 expected 'Подмигивающий' before numeric constant
Error 8 expected ';' before 'Подмигивающий' token
Warning 9 statement has no effect D
 
 Top
Страниц (6): [1] 2 3 4 5 6 »
« С чего начать? »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 





Powered by Exclusive Bulletin Board
ExBB FM 1.0 RC1 Smiles by Fool from Foolstown
  Яндекс.Метрика   Рейтинг@Mail.ru