Archiv verlassen und diese Seite im Standarddesign anzeigen : Einbinden der avr.h
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.
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
Hab noch was vergessen...
Welche muss ich denn dann für den ATmega8 einbinden?
chaka
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.
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.