So ich lass dir mal ein kleines Programm da. Dieses kopierst du in das WinAVR Programmer´s Notepad und speicherst es unter einem Namen ( taster.c) oder so ab. Danach machst du das MFile von WinAVR auf. Jetzt gehst du auf Main file name und gibst dort auch den Namen taster ein. Danach stellst du unter MCU type deinen Controller ein. Dies waren schon mit die wichtigsten Einstellungen, den Rest kannst du so lassen. Nun gehst du auf File oben links und sagst speichen unter:, dort bitte den Ordner angeben wo du die C Datei auch schon drin hast. ACHTE bitte darauf dass das makefile klein geschrieben ist!!!!!
Nun gehst du zurück in WinAVR und sagst [WinAVR]Make All. Eigentlich sollte dann keine Fehlermeldung kommen.
Nun öffnest du AVR Studio und wählst keine Datei am Anfang aus, sondern du schließt das Auswahlfenster. Bei AVR Studio gibt es einen Button wo ein kleiner Controller mit der Bezeichnung AVR drauf ist. Den bitte öffnen. Dort musst du jetzt auch wieder deinen Controller aus der Liste auswählen. Nun suchst du unter FLASH deinen Ordner und deine Datei und übermittelst diese einfach in deinen Controller.
Ach ja LED´s mit dem Kabel bitte mit PortD anschließen und Taster bitte mit Port B anschließen. Schwupss kannst du mal ein wenig auf den ersten drei Taster rumhämmern.
Code:
#include <avr/io.h>
#define TAKT 2000000
int main (void)
{
// init Ports...
int i,j;
DDRD = 0xff; //alle 8 Portpins sind Input
PORTD = 0xff; //no pull-ups
DDRB = 0x00; //alle 8 Portpins sind Output
PORTB = 0x00; // High-Pegel setzen => STK500 LEDs aus
while (1)
{
//wichtig bei Atmel => du musst die PIN Register abfragen für einen Input
if((PINB & ( 1<<PD1 )) ==0 ) PORTD = 0; //alle an
else // alle wieder aus
else if((PINB & ( 1<<PD2 )) == 0 ) PORTD = 0xfb;
else if((PINB & ( 1<<PD3 )) == 0 )
for(i=0; i<1000;i++)
{
for(j=0; j<10000;j++)
{
if(i%8)
PORTD=0xFF;
else
PORTD=0x00;
};
Ich hoffe ich konnte dir damit etwas behilflich sein.
So long
Tom
Lesezeichen