плни, это звездец какой-то, а не код. поставьте хотя бы авр студию. она хоть и через опу в вижуал студию интегрирована (
vassistx настроили, что бы в комментариях орфографию проверял + куча других пакостей), но по крайней мере более-менее отступы делает
для кода есть специальный тег "code"
Код:
#include <avr/io.h>
#include <util/delay.h>
int main(void) // начало основной программы
{
DDRC = 0xff; // все выводы порта C сконфигурировать как выходы
DDRD = 0x00; // все выводы порта D сконфигурировать как входы
PORTD = 0xff; // установить "1" на всех выводах порта D,
// включаем подтягивающие резисторы
unsigned char i = 0;
while (1)
{
for(i=0; i<200;i++) //задержка
if (!(PIND & (1<<PIND1))) //проверка условия
{
// ---------- вращаем моторы вперед ----------
start: //метка для перехода подпрограмм
PORTC |= _BV(PC1); // установить "1" на линии 1 порта C
PORTC &= ~_BV(PC2); // установить "0" на линии 2 порта C
PORTC |= _BV(PC3); // установить "1" на линии 3 порта C
PORTC &= ~_BV(PC4); // установить "0" на линии 4 порта C
_delay_ms(200); // задержка 0,2сек.
end start //окончание с перехода на метку
}
else
{
for(i=0;i<100;i+) //задержка
{
// ---------- вращаем моторы назад ----------
PORTC &= ~_BV(PC1); // установить "0" на линии 1 порта C
PORTC |= _BV(PC2); // установить "1" на линии 2 порта C
PORTC &= ~_BV(PC3); // установить "0" на линии 3 порта C
PORTC |= _BV(PC4); // установить "1" на линии 4 порта C
_delay_ms(200);
}
}
// поворачиваем в одну сторону
{
for(i=0;i<200;i++)
PORTC &= ~_BV(PC3)
POTRC |= _BV(PC4)
_delay_ms(200)
goto start
}
//поворачиваем в другу сторону
for(i=0;i<200;i++)
{
PORTC &= ~_BV(PC4)
PORTC |= _BV(PC3)
_delay_us(200)
goto start
}
}
}
не зря goto повыкидывали в различных языках.
Цитата:
//метка для перехода подпрограмм
так сделайте подпрограмму ака функцию, а не этот жутко пристроенный goto. не то, что бы сам по себе goto это вселенское зло, а просто лучше сразу на всегда про него задудьте или хотя бы на первое время и начните использовать только когда он действительно понадобится.
и кста код в принципе не должен компилироваться. вы вообще хотя бы пытались вникнуть в сообщения компилятора после того, как решили на самоучитель по си забить? это вы в обычном тексте можете творить всё что угодно.
хоть без знаков припинания, хоть всё слитно пишите. а в программе такие финты не проходят.
точки с запятыми расставьте. вот это
Код:
// поворачиваем в одну сторону
{
for(i=0;i<200;i++)
вроде должно быть так
Код:
// поворачиваем в одну сторону
for(i=0;i<200;i++)
{
я конечно не всё из си помню, но это
Код:
end start //окончание с перехода на метку
ещё что за отсебятина?
а тут
Код:
for(i=0;i<100;i+)
кто второй + съёл?
а тут
Код:
for(i=0;i<200;i++)
{
PORTC &= ~_BV(PC3);
POTRC |= _BV(PC4);
что за POTRC?
и вообще выделите отдельные ф-и и их вызывайте.