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
Lesezeichen