ok haut hin!
danke
aber jetzt muss ich euch weiterlöchern
thema PCDemo
also wenn ich
Code:
#include "asuro.h"
#include <stdlib.h>

#define OFFSET	0x3F
#define STEP	5

#define RWD_KEY   '2'
#define FWD_KEY   '8'
#define LEFT_KEY  '4'
#define RIGHT_KEY '6'
#define STOP_KEY  '5'

volatile unsigned char switchPressed;
int speedLeft,speedRight;

SIGNAL (SIG_INTERRUPT1)
{
	unsigned int i;

	DDRD |= SWITCHES;				// Switches as Output
	SWITCH_ON;						// Output HIGH for measurement
	ADMUX = (1 << REFS0) | SWITCH;	// AVCC reference with external capacitor
	for (i = 0; i < 0xFE; i++);

	ADCSRA |= (1 << ADSC);			// Start conversion
	while (!(ADCSRA & (1 << ADIF)));	// wait for conversion complete
	ADCSRA |= (1 << ADIF);			// clear ADCIF
	i = ADCL + (ADCH << 8);

	// und ab gehts --- fahr zurück
	MotorDir(RWD,RWD);
	MotorSpeed(200,200);
	FrontLED(ON);
	BackLED(ON,ON);
	for (i = 0; i < 0xFFFD; i++);   // Sleep does not work here

	switchPressed = TRUE;
	SWITCH_OFF;
	DDRD &= ~SWITCHES;					// Switches as Input => ext. Int 1 
}

void PCFwd(void)
{
	speedRight += STEP;
	speedLeft  += STEP; 
	if (speedLeft < 0 && speedLeft >= -OFFSET) speedLeft = 1; 
	if (speedRight < 0 && speedRight >= -OFFSET) speedRight = 1; 
	FrontLED(ON);
	BackLED(OFF,OFF);
}

void PCRwd(void)
{
	speedRight -= STEP;
	speedLeft  -= STEP;
	if (speedRight > 0 && speedRight <= OFFSET)  speedRight = -1; 
	if (speedLeft > 0 && speedLeft <= OFFSET)  speedLeft = -1; 
	FrontLED(OFF);
	BackLED(ON,ON);
}

void PCLeft (void)
{
	speedLeft  -= STEP;
	if (speedLeft > 0 && speedLeft <= OFFSET) speedLeft = -1;
	speedRight += STEP;
	if (speedRight < 0 && speedRight >= -OFFSET) speedRight = 1;
	FrontLED(OFF);
	BackLED(ON,OFF);
}

void PCRight (void)
{
	speedLeft  += STEP;
	if (speedLeft < 0 && speedLeft >= -OFFSET) speedLeft = 1; 
	speedRight -= STEP;
	if (speedRight > 0 && speedRight <= OFFSET) speedRight = -1; 
	FrontLED(OFF);
	BackLED(OFF,ON);
}


void PCStop(void)
{
	speedRight = speedLeft = 0;
	FrontLED(OFF);
	BackLED(OFF,OFF);
}


void PCDemo(void)
{
	unsigned char cmd;
	unsigned char leftDir = FWD, rightDir = FWD;

	Init();
	StartSwitch();
	sei();
	for(;;) {
		cmd = 0;	
		SerRead(&cmd,1,0xFFFE);
		switch (cmd) {
			case RWD_KEY :	PCRwd(); break;
			case FWD_KEY :	PCFwd(); break;
			case LEFT_KEY :	PCLeft(); break;
			case RIGHT_KEY : PCRight(); break;
			case STOP_KEY :	PCStop(); break;
		}
		if (speedLeft > 0 && speedLeft <  OFFSET) speedLeft += OFFSET;
		if (speedLeft < 0 && speedLeft > -OFFSET) speedLeft -= OFFSET;
		if (speedRight > 0 && speedRight <  OFFSET) speedRight += OFFSET;
		if (speedRight < 0 && speedRight > -OFFSET) speedRight -= OFFSET;
	
		if (switchPressed) {
			speedLeft  = 0;
			speedRight = 0;
			switchPressed = FALSE;
		}

		leftDir = rightDir = FWD;
		if (speedLeft < 0)  leftDir = RWD; 
		if (speedRight < 0) rightDir = RWD; 
			
		if (speedLeft >   255) speedLeft  =  255; 
		if (speedLeft <  -255) speedLeft  = -255;
		if (speedRight >  255) speedRight =  255;
		if (speedRight < -255) speedRight = -255;

		MotorDir(leftDir,rightDir);
		MotorSpeed(abs(speedLeft),abs(speedRight));
	} 	
}
ins text.c einfüge
habe ich danach folgenden Fehler:
C:\ASURO_src\FirstTry>make all
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > asuro.d; \
[ -s asuro.d ] || rm -f asuro.d
set -e; avr-gcc -MM -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > test.d; \
[ -s test.d ] || rm -f test.d
-------- begin --------
avr-gcc --version
avr-gcc (GCC) 3.3.1
Copyright (C) 2003 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.lst test.c -o test.o
avr-gcc -c -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=asuro.lst asuro.c -o asuro.o
avr-gcc -mmcu=atmega8 -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-ahlms=test.o test.o asuro.o --output test.elf -Wl,-Map=test.map,--cref -lm
C:\WinAVR\bin\..\lib\gcc-lib\avr\3.3.1\..\..\..\..\avr\lib\avr4\crtm8.o(.in it9+0x0): undefined reference to `main'
make: *** [test.elf] Error 1

> Process Exit Code: 2
könntet ihr euch das mal anschauen was zu ändern is?
bitte, danke!
mfg