PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Einbinden der avr.h



chaka
02.09.2009, 21:42
Hallo.
ich habe heute meine neue myAVR Board MK 2 USB an AVR Studio angeschlossen. Die Software hatte avr.h nicht gefunden.
Also habe ich aus der mitgelieferten AVR Workpad Beispiel DAtei die Include Datei kopiert und in das Verzeichnis meiner neuen Datei von AVR Studio 4 eingefügt. Jetzt meldet er dieses!?
C:\Do.....t\avr.h(3): error: syntax error, unexpected ',', expecting '='
Was habe ich falsch gemacht??
Im Workpad kann ich auf das Board übertragen... :-k
Gruß
Chaka

Besserwessi
02.09.2009, 22:29
Bei Assembler bindet man kein .h files ein, die sind für den C compiler (Winavr). Für ASM sind die Teile definitionen in Files mit der Endung .inc, z.B.
.include "tn26def.inc"
für den Tiny26.

chaka
03.09.2009, 08:39
Danke für deine Antwort.
Komischerweise schreiben die in der Literatur (myAVR Lehrbuch) aber ganau diese Datei zum einbinden dazu?? AVR Studio kommt in diesen Beispielen leider nicht vor, nur diese eigene AVR Workpad bzw Sisy Software.
Chaka

chaka
03.09.2009, 08:40
Hab noch was vergessen...
Welche muss ich denn dann für den ATmega8 einbinden?
chaka

robin
03.09.2009, 09:03
Hi,

für den Mega8 brauchst du die "M8def.inc"


ein recht schönes tutorial für assembler findest du hier:

http://www.mikrocontroller.net/articles/AVR-Tutorial

mfg robin

albert32
03.09.2009, 11:26
Hallo!

chaka hat recht, für die AVR Workpad bzw Sisy Software braucht man
.include 'AVR.H'. Die IDE ist offenbar anders gestrickt.

Beispiel Grundgerüst.

;+----------------------------------------------------------------------
;| Title : myAVR Grundgerüst für ATmega8
;+----------------------------------------------------------------------
;| Funktion : ...
;| Schaltung : ...
;+----------------------------------------------------------------------
;| Prozessor : ATmega8
;| Takt : 3,6864 MHz
;| Sprache : Assembler
;| Datum : ...
;| Version : ...
;| Autor : ...
;+----------------------------------------------------------------------
.include "AVR.H"
;------------------------------------------------------------------------
;Reset and Interrupt vector ;VNr. Beschreibung
rjmp main ;1 POWER ON RESET
reti ;2 Int0-Interrupt
reti ;3 Int1-Interrupt
reti ;4 TC2 Compare Match
reti ;5 TC2 Overflow
reti ;6 TC1 Capture
reti ;7 TC1 Compare Match A
reti ;8 TC1 Compare Match B
reti ;9 TC1 Overflow
reti ;10 TC0 Overflow
reti ;11 SPI, STC Serial Transfer Complete
reti ;12 UART Rx Complete
reti ;13 UART Data Register Empty
reti ;14 UART Tx Complete
reti ;15 ADC Conversion Complete
reti ;16 EEPROM Ready
reti ;17 Analog Comparator
reti ;18 TWI (I²C) Serial Interface
reti ;19 Store Program Memory Ready
;------------------------------------------------------------------------
;Start, Power ON, Reset
main: ldi r16,lo8(RAMEND)
out SPL,r16
ldi r16,hi8(RAMEND)
out SPH,r16
;Hier Init-Code eintragen.
;------------------------------------------------------------------------
mainloop: wdr
;Hier den Quellcode eintragen.
rjmp mainloop
;-------------------------------------------------------------------------


mfg

albert

albert32
03.09.2009, 11:51
Hallo!

Und noch eine Information dazu..

http://myavr.info/myForum/viewtopic.php?t=60

Beginn mit ?, weiter unten Infos zu diesem Thema.


mfg

albert

Besserwessi
03.09.2009, 18:45
Es hängt wohl vom Assembler ab. Mit dem AVRStudio internen Assembler mit M8def.inc und mit dem Gnu Assembler mit AVR.h. (oder io.h).

Man kann natürlich die Daten aus m8def.inc auch in ein .h File schreiben, aber das verwirrt dann doch mehr.

chaka
03.09.2009, 19:08
Danke für Eure Antworten. Es hat mir super weitergeholfen. Außer das es jetzt funkt, habe ich auch wieder etwas mehr Verständnis dafür bekommen.
Gruß
Chaka :D