ok... habe in http://winavr.sourceforge.net/install_config_WinAVR.pdf die antwort gefunden. hatte nich gewusst, dass man das teil erst installieren muss

hab jetzt ne verbesserte version meines blinkprogrammes geschrieben, enthält delay-loops und ne eigene header-datei, die ich schrittweise ausbauen werde. schaut euch das zeug bitte mal an... irgendwo fehler drin? will möglichst standard-gerecht bleiben, damit der kram auch läuft


Code:
//rncontrol.h
static inline void setpout(const char p, const uint8_t n, const uint8_t io)
	{
	if(p == 'A') {PORTA = io<<n;}	//set PORTA.n high oder low
	if(p == 'B') {PORTB = io<<n;}	//set PORTB.n high oder low
	if(p == 'C') {PORTC = io<<n;}	//set PORTC.n high oder low
	if(p == 'D') {PORTD = io<<n;}	//set PORTC.n high oder low
	}



//RNControl-Test.c
#include <avr/io.h>
#include <avr/delay.h>
#include <rncontrol.h>



int main(void)
	{
	//Initialisierungsphase
	unsigned int counter;
	
	DDRC |= 0x10;	//set PORTC.4 for output
	
	while(1)
		{
		setpout('C',4,1);
		
		//wait 16*65536
		counter = 0;
		while(counter < 16)
			{
			counter++;
			_delay_loop_2(65535);
			}

		setpout('C',4,0);
		
		//wait
		counter = 0;
		while(counter < 16)
			{
			counter++;
			_delay_loop_2(65535);
			}
			
		}
	return 1;
	}

ach ja... aus "static inline set_port" habe ich "static inline void setpout" gemacht, weil der compiler sonst immer meckerte, ich hätte da keine rückgabe, obwohl das ne integerfunktion ist. ist das richtig so, wie ich es gemacht habe?

vielen dank für eure hilfe!

gruß
corone