ich habs .... moment .....
wird etwas unübersichtlich, weil man hier keine leerzeichen machen kann
program Blinker;
jedes programm beginnt mit PROGRAM und dem namen
interessiert momentan nicht
{ $BOOTRST $00C00} {Reset Jump to $00C00}
{$NOSHADOW}
{ $W+ Warnings} {Warnings off}
hier wird der zielproz festgelegt; das vcc ist nicht notwendig
Device = mega8, VCC=5;
hier wird eine unit (unterroutinen, die es für viele dinge gibt: lcd, seriell, tastatur, ..... die hier ist für .... sagen wir mal grob "timing-sachen") geladen
Import SysTick;
hier wird aus der unit SYSTEM ein befehl importiert
From System Import ;
Define
taktfrequenz: anhand derer werden z.b. warteschleifen berechnet
ProcClock = 16000000; {Hertz}
wie soll ich das erklären die kleinste zeiteinheit im prog
SysTick = 10; {msec}
interessiert auch nicht - später mal
StackSize = $0032, iData;
FrameSize = $0032, iData;
hier werden variablen und konstanten definiert. das IDATA sagt, wo diese liegen. steht dort z.b. EEPROM liegen sie im ... rat mal
Implementation
{$IDATA}
{--------------------------------------------------------------}
{ Type Declarations }
type
{--------------------------------------------------------------}
{ Const Declarations }
{--------------------------------------------------------------}
{ Var Declarations }
{$IDATA}
{--------------------------------------------------------------}
hier werden unterprogramme geschrieben. initports legt z.b. fest, was ein ein- und ausgang ist und ob die internen pull-up's eingeschaltet sind
{ functions }
procedure InitPorts;
begin
PortB:= %00001100;
DDRB:= %00001100;
end InitPorts;
{--------------------------------------------------------------}
hier geht das eigentliche prog los: es wird das unterprog von oben aufgerufen, die verarbeitung der interrupts eingeschaltet und eine endlosschleife (loop) begonnen bis (endloop) in der allerdings nichts steht. es passiert also auch nichts weiter
{ Main Program }
{$IDATA}
begin
InitPorts;
EnableInts;
loop
endloop;
wie am anfang das "PROGRAM" endet jedes prog mit "END"
end Blinker.
verwirrend ?
sollen wir jetzt noch was in die schleife LOOP reinschreiben ?