Форум myROBOT.ru » Шаг за шагом » С чего начать? » программирование

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

1. Andrey 2004 - 26 Декабря, 2018 - 16:21:43 - перейти к сообщению
можно ли запрограммировать микропроцессор ATmega8-16pu при помощи программы arduino,
и USBASP 2.0? Если нет то какую программу для этого лучше использовать где ее можно скачать. Заранее благодарен.
2. Predator - 26 Декабря, 2018 - 17:14:20 - перейти к сообщению
ATmega8 - микроконтроллер.
Запрограммировать при помощи программы arduino можно, только при условиях - есть еще и ардуино-плата под такой контроллер и в контроллере уже вшит загрузчик.

Запрограммировать при помощи USBASP 2.0 можно, без всяких ардуин. По идее АВР-студия должна знать USBASP.
3. Andrey 2004 - 27 Декабря, 2018 - 17:47:07 - перейти к сообщению
Благодарю. Одобряю Одобряю
4. Andrey 2004 - 17 Января, 2019 - 20:52:30 - перейти к сообщению
начал недавно заниматься программированием, но возникла проблема ввожу вот эту программу:
#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

не подскажите что делать???
5. Predator - 17 Января, 2019 - 22:21:56 - перейти к сообщению
А в какой среде программируете? Очень может быть, что нету у вас mega8.h.
попробуйте вот так:
CODE:

#include <avr/io.h>
#include <util/delay.h>
6. Andrey 2004 - 22 Января, 2019 - 18:11:08 - перейти к сообщению
вроде заменил но компилятор вывел мне кучу ошибок,хотя по идее код правильный,для точности вставлю получившийся код:

#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' и т.д.
Что это может быть и как это можно исправить.
Не подскажете????'
7. Predator - 22 Января, 2019 - 21:18:31 - перейти к сообщению
итак похоже, что программируете под Atmel Studio, а исходник взят под что-то дугое.

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

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

void main(void)
{
....
}


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

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


дальше будем разбираться по мере...
8. Группа Инженеров - 23 Января, 2019 - 01:54:28 - перейти к сообщению
Цитата:
заменить на
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.
9. Andrey 2004 - 23 Января, 2019 - 11:32:13 - перейти к сообщению
Цитата:
Попробуйте вот так

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

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);}

тоже кучу ошибок выдает...
10. Predator - 23 Января, 2019 - 12:02:42 - перейти к сообщению
сия затея с return должна избавить только от одной ошибки:
Error 6 '::main' must return 'int'

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

вы свою кучу ошибок опубликуйте, без подробностей разобраться никак...
11. Andrey 2004 - 23 Января, 2019 - 22:37:42 - перейти к сообщению
вот ошибки:
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)...
12. Predator - 25 Января, 2019 - 09:37:15 - перейти к сообщению
fabs и ceil - версии объявления данных, находятся в math.h
попробуйте добавить.
#include <util/math.h>
Если повезёт - проблема решится, если нет (math.h тоже будет ругаться на страшные слова и требовать еще библиотек) - проще будет выкосить
#include <util/delay.h> и сделать. Стоп. У вас уже не применяется delay.

сразу выкашивайте
#include <util/delay.h>
должно полегчать.
13. Andrey 2004 - 25 Января, 2019 - 11:28:29 - перейти к сообщению
вот что получилось:
#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
14. Predator - 25 Января, 2019 - 12:54:45 - перейти к сообщению
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>

должно полегчать.
15. Andrey 2004 - 25 Января, 2019 - 13:22:54 - перейти к сообщению
вот какие ошибки выдало:
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