mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LED ATMEGA8 schnell ansteuern


Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist die schnellste Methode um eine LED mit einem MEGA8 anzusteuern? 
Ich hatte da mal ne Seite, aber ich find die nicht mehr und google 
spuckt auch nichts brauchbares aus. Könnt ihr mir eine Methode 
empfehlen? Schaltplan oder ASM Code?

Hoffe ihr wisst Antwort,

Danke

Flo

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnell aufbauen und programmieren - in Minuten
oder schnell einschalten - in Nanosekunden ?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was ist die schnellste Methode um eine LED mit einem MEGA8 anzusteuern?

LED plus Vorwiderstand. Pin einschalten. LED leuchtet.

Autor: Richard B. (rbrose)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

AVR mit 100MHz übertakten. Oder was willst du eigentlich wissen?

MfG Spess

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schnell einschalten. Die Zeit zum Programmieren ist nicht so wichtig.
Also die schnellste Möglichkeit ne LED an und aus zu bekommen.

Autor: Frank L. (hermastersvoice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
GND ---> Pin8 vom M8
Pin22 vom M8 ---> Vorwiderstand
Vorwiderstand ---> LED
LED ---> VCC

schneller und einfacher gehts nicht und man muss nichtmal programmieren.

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich denke mal du willst etwas in der Art.

cbi  portb,0      löscht Bit0 im I/O Register von PortB, Ausgang 
B0=Masse
sbi  portb,0      setzt Bit0 im I/O Register von PortB, Ausgang 
B0=Betriebsspannung

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[c]GND ---> Pin8 vom M8
Pin22 vom M8 ---> Vorwiderstand
Vorwiderstand ---> LED
LED ---> VCC

schneller und einfacher gehts nicht und man muss nichtmal programmieren.
[c]
Und die Programmierung ist dann die im Tutorial in i/O Grundlagen 
beschriebene?

Danke

Flo

Autor: Frank L. (hermastersvoice)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nix Programmierung :-))

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uwe
Was muss man jetzt noch drumherum schreiben und wie bekommt man die LED 
wieder aus? Oder ist die jetzt noch gar nicht an

PS: Wenn ich nen Mega8 hab werd ich das Tutorial durcharbeiten, klappt 
ohne aber nicht.

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du Erfahrung mit Assemblerprogramierung?

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mal ein wenig aufm Computer mit rumgespielt aber auf dieser 
Plattform keinen Nutzen erkannt. Ich konnte halt so ein bissl die 
Grundlagen nicht mit GUI oder so.

Den Controller möcht ich aber gerne in ASM programmieren

Flo

Autor: spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Erzähl doch einfach mal worum es eigentlich geht.

MfG Spess

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um ne PropClock

Aber jetzt bitte keine Tipps wie "Schau da und da", "Oder dort".

Ich würd die gerne selber machen und selber programmieren, keine 
vorgefertigten Sachen nehmen. Sind 8Mhz in Ordnung?

Flo

Autor: Lupin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erst tutorial durcharbeiten, dann fragen zu LEDs und zur propeller clock 
stellen. Macht ansonsten keinen Sinn. Und du solltest unbedingt von 
anderen propeller clocks abschauen (zumindest die Hardware), sich sowas 
als Anfänger selbst aus zu denken ist nicht so einfach.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Flo (Gast)

>Um ne PropClock

Wie fein.

>Aber jetzt bitte keine Tipps wie "Schau da und da", "Oder dort".

Nöö. Klemm die LEDs einfach mit Vorwiderstand an den AVR und los gehts. 
Ist schnell genug.

>vorgefertigten Sachen nehmen. Sind 8Mhz in Ordnung?

Locker. Ein AVR ist doch kein PIC ;-)

MFG
Falk

Autor: der andere Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"...Ich würd die gerne selber machen und selber programmieren, keine
vorgefertigten Sachen nehmen. Sind 8Mhz in Ordnung?"

hmm, ok, dann überlege es selbst, damit du auch ein Gefühl dafür 
bekommst. Stichworte, die überlegenswert dabei sind:
* Umdrehungsgeschwindigkeit
* "Anzahl der Pixel", die du darstellen willst (in beiden Richtungen!)

Das zusammengewürfelt und runtergerechnet auf einen Pixel ergibt das, 
was du suchst bzw. wie schnell dein MC sein muss (das ist das gleiche, 
wie beim Cube...;-)).

Uwe

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist mal mein aktueller Schaltplan. Könntet ihr bitte ganz genau 
überprüfen, ob er stimmt? Und wie kann ich Anschlüsse VCC+ zuweisen? 
Also dieser Pfeil den es da gibt? Wie mach ich den? Die langen linien 
sind nämlich ein bissl unpraktisch

@∂er andre Uwe
Ich hab keinen Plan wie man das ausrechnet, und ich weiß auch nicht wie 
viele Umdrehngen der Motor hat... (Ist aus nem DiscMan)

Danke Flo

PS: Ne ISP SChnittstelle kommt noch dran

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Flo (Gast)

>Hier ist mal mein aktueller Schaltplan. Könntet ihr bitte ganz genau
>überprüfen, ob er stimmt?

Deine LEDs sind verpolt.

> Und wie kann ich Anschlüsse VCC+ zuweisen?

Mit dem Vcc Symbol. Das ist aber kein Eagle oder? Dort wäre es in der 
Bibliothek Supply.

>Ich hab keinen Plan wie man das ausrechnet,

Dan musst du wohl doch dich mal bei bestehenden Projekten informieren 
;-)

MFG
Falk

Autor: der andere Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Ich hab keinen Plan wie man das ausrechnet, und ich weiß auch nicht wie
viele Umdrehngen der Motor hat... (Ist aus nem DiscMan)"

Genau das solltest du wissen und auch in deiner Schaltung 
berücksichtigen, sonst wirst du kein sinnvolles Bild hinbekommen! 
Überlege einfach mal, wie den der "bildliche Effekt" zustande kommt!

Uwe

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ist Eagle, war in Supply, Danke.

Hab alles angepasst stimmt es jetzt?

Danke

Flo

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst dem AVR noch 2x100nF an Vcc/GND spendieren.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uwe
Ich dachte, ich ermittle die Umdrehungen wenn ich alles zusammengebaut 
hab und überprüfe mim IC wie oft der Hall Sensor in einer Minute 
schliesst?

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So,

angepasst... Muss ich an Pin 3,4,5,6 überhaupt was anschliessen oder 
Stimmt das so?

Autor: der andere Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... und wie bringst du das dann in Zusammenhang mit/in deinem noch zu 
schreibenden Programm?

Die Drehgeschwindigkeit deines Motors muss gross genug sein, dass der 
Effekt eines statischen Bildes entsteht. Dein Programm muss 
gewährleisten, dass die LEDs so angesteuert werden, dass der Effekt 
eines stehenden Bildes entsteht (und dies ist im Zusammenhang mit der 
Umdrehungsgeschwindigkeit zu sehen).

Und nun überlege einfach mal! Ansonsten bezweifle ich auch, dass es 
sinnvoll ist, dass du8 mit einem solchen Projekt weiter machst...

Uwe

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Flo (Gast)

>angepasst... Muss ich an Pin 3,4,5,6 überhaupt was anschliessen

LOGISCH! Das ist die Stromversorgung!

 oder
>Stimmt das so?

Nöö. Die Kondensatoren müssen parallel zu GND/Vcc angeschlossen werden!

MFG
Falk

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Passt es jetzt so oder müssen an die unteren Pins auch noch 
Kondensatoren?

Flo

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, die kondensatoren stimmen jetzt.
aber da du pro gesamtem port einen gewissen gesamtstrom nicht 
übersteigen darfst, würde ich dir empfehlen, einen treiber für deine 
leds zu benutzen. der gute alte uln2803 drängt sich förmlich auf.
das ist ein darlington-transistor-array mit integrierten 
vorwiderständen. den musst du einfach nur in die leitung schalten.
http://www.datasheetcatalog.org/datasheets/105/366825_DS.pdf

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibts den in Eagle? Google spuckt nichts aus...


Danke Flo

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Flo (Gast)

>Gibts den in Eagle?

Sicher.

> Google spuckt nichts aus...

Google weiss Gott sei Dank nicht alles.

Schau mal in die Bibliothek "ULN-UDN"

(Wer hätte DAS gedacht?)

MFg
Falk

P.S. Man kann auch ICs suchen, indem man bei ADD in dem Fenster uunten 
links den Namen eingibt. Aber Vorsicht, reichlich mit Platzhaltern * 
arbeiten, sonst werden nur EXAKTE Übereinstimmungen gefunden.

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und was muss an CD+ dran?? das bleibt frei oder?

Danke

PS: Das mit Der Suche hab ich gewusst, nur nicht das mit dem *...

Flo

Autor: Flo (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab den Schaltplan noch mal ein wenig modifiziert und ne ISP 
Schnitstelle hinzugefügt. Stimmt die Beschaltung. Und wie kann ich die 
RESET Linie (PIN5 an RESET) mit so nem Pfeil machen, dass der Schaltplan 
übersichtlich bleibt aber der AUtorouter weiß, dass das ne Verbindung 
hin muss?

Danke Flo

PS: Ist jetzt auch ein anderer MEGA8 (DIP Gehäuse)

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Flo (Gast)

>Und was muss an CD+ dran?? das bleibt frei oder?

Ja, das braucht man nur bei Relais.

>Schnitstelle hinzugefügt. Stimmt die Beschaltung.

Vcc fehlt an Pin2 des ISP Steckers.
Es fehlen die Vorwiderstände der LEDs.

> Und wie kann ich die
>RESET Linie (PIN5 an RESET) mit so nem Pfeil machen, dass der Schaltplan
>übersichtlich bleibt

Gar nicht, die Symbole sind nur für Versorgungsspannungen etc. Man kann 
aber ein Stück Netz zeichnen und einen Namen vergeben. Netze mit 
gleichen Namen werden dann verbunden.

MFG
Falk

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hoffentlich kommst du mit der Mechanik besser klar, ansonsten ruf besser 
schonmal den Notarzt, für den Fall das dir das Ding ins Gesicht springt.

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Flo wrote:
> Und was muss an CD+ dran?? das bleibt frei oder?
da du ja nicht alles vorgekaut haben wolltest, bekommst du hier nur 
folgenden google-tipp: freilaufdiode

> Ich hab den Schaltplan noch mal ein wenig modifiziert und ne ISP
ich würde die vorwiderstände für die leds wieder reinmodifizieren ^^
wenn du nicht so genau weißt, warum: 
http://www.elektronik-kompendium.de/sites/slt/0208031.htm

> Schnitstelle hinzugefügt. Stimmt die Beschaltung. Und wie kann ich die
kann praktisch sein, ist aber nicht unbedingt notwendig, da du ja den 
atmega in einen sockel setzen kannst - würd ich dir auch für den 
fehlerfall empfehlen.
wenn dir das routen zu schwer fällt, lass sie einfach weg oder bau sie 
erst später wieder ein.

> RESET Linie (PIN5 an RESET) mit so nem Pfeil machen, dass der Schaltplan
zeichne daran einfach ein stück netz. damit hat dieser sog. knoten einen 
namen. eagle vergibt hier N$###. jetzt zeichnest du auch an die 
isp-schnittstelle ein stück net und benennst das wie das stück am 
reset-pin. den namen kannst du frei wählen. sinnvoll ist es, mit dem 
label werkzeug die spezielle benenung sichtbar zu machen.

> übersichtlich bleibt aber der AUtorouter weiß, dass das ne Verbindung
> hin muss?
über eagle und autorouter findest du hier genügend meinungen, die dir 
davon abraten sollten. für so ein simples layout solltest du ihn auch 
auf keinen fall brauchen.

noch was ganz andres: findest du nicht, dass dein atmega wissen sollte, 
wie schnell er durch die luft fliegt?

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bzgl AUtorouter ich mein nur die Anwendung, mit der man das Layout 
erstellen kann

Danke

Flo

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach dem ganzen Problem bin ich bei diesem Projekt gelandet, welches ich 
gerne nachbauen würde, wenn ihr mir ein bissl unter die Arme greift:

http://www.microsyl.com/

->Auf PropClock drücken

Das erste Problem hab ich allerdings schon mit dem Quellcode. Ich hab 
versucht per Make zu kompilieren:

Mein Make:

# Name: Makefile
# Author: <insert your name here>
# Copyright: <insert your copyright message here>
# License: <insert your license reference here>

# This is a prototype Makefile. Modify it according to your needs.
# You should at least check the settings for
# DEVICE ....... The AVR device you compile for
# CLOCK ........ Target AVR clock rate in Hertz
# OBJECTS ...... The object files created from your source files. This 
list is
#                usually the same as the list of source files with 
suffix ".o".
# PROGRAMMER ... Options to avrdude which define the hardware you use 
for
#                uploading to the AVR and the interface where this 
hardware
#                is connected.
# FUSES ........ Parameters for avrdude to flash the fuses 
appropriately.

DEVICE     = atmega8
CLOCK      = 8000000
PROGRAMMER = -c USBasp
OBJECTS    = main.o
FUSES      = -U hfuse:w:0xd9:m -U lfuse:w:0x24:m
# ATMega8 fuse bits (fuse bits for other devices are different!):
# Example for 8 MHz internal oscillator
# Fuse high byte:
# 0xd9 = 1 1 0 1   1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000)
#        ^ ^ ^ ^   ^ ^ ^------ BOOTSZ0
#        | | | |   | +-------- BOOTSZ1
#        | | | |   +---------- EESAVE (set to 0 to preserve EEPROM over 
chip erase)
#        | | | +-------------- CKOPT (clock option, depends on 
oscillator type)
#        | | +---------------- SPIEN (if set to 1, serial programming is 
disabled)
#        | +------------------ WDTON (if set to 0, watchdog is always 
on)
#        +-------------------- RSTDISBL (if set to 0, RESET pin is 
disabled)
# Fuse low byte:
# 0x24 = 0 0 1 0   0 1 0 0
#        ^ ^ \ /   \--+--/
#        | |  |       +------- CKSEL 3..0 (8M internal RC)
#        | |  +--------------- SUT 1..0 (slowly rising power)
#        | +------------------ BODEN (if 0, brown-out detector is 
enabled)
#        +-------------------- BODLEVEL (if 0: 4V, if 1: 2.7V)

# Example for 12 MHz external crystal:
# Fuse high byte:
# 0xc9 = 1 1 0 0   1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000)
#        ^ ^ ^ ^   ^ ^ ^------ BOOTSZ0
#        | | | |   | +-------- BOOTSZ1
#        | | | |   +---------- EESAVE (set to 0 to preserve EEPROM over 
chip erase)
#        | | | +-------------- CKOPT (clock option, depends on 
oscillator type)
#        | | +---------------- SPIEN (if set to 1, serial programming is 
disabled)
#        | +------------------ WDTON (if set to 0, watchdog is always 
on)
#        +-------------------- RSTDISBL (if set to 0, RESET pin is 
disabled)
# Fuse low byte:
# 0x9f = 1 0 0 1   1 1 1 1
#        ^ ^ \ /   \--+--/
#        | |  |       +------- CKSEL 3..0 (external >8M crystal)
#        | |  +--------------- SUT 1..0 (crystal osc, BOD enabled)
#        | +------------------ BODEN (if 0, brown-out detector is 
enabled)
#        +-------------------- BODLEVEL (if 0: 4V, if 1: 2.7V)


# Tune the lines below only if you know what you are doing:

AVRDUDE = avrdude $(PROGRAMMER) -p $(DEVICE)
COMPILE = avr-gcc -Wall -Os -DF_CPU=$(CLOCK) -mmcu=$(DEVICE)

# symbolic targets:
all:  main.hex

.c.o:
  $(COMPILE) -c $< -o $@

.S.o:
  $(COMPILE) -x assembler-with-cpp -c $< -o $@
# "-x assembler-with-cpp" should not be necessary since this is the 
default
# file type for the .S (with capital S) extension. However, upper case
# characters are not always preserved on Windows. To ensure WinAVR
# compatibility define the file type manually.

.c.s:
  $(COMPILE) -S $< -o $@

flash:  all
  $(AVRDUDE) -U flash:w:main.hex:i

fuse:
  $(AVRDUDE) $(FUSES)

# Xcode uses the Makefile targets "", "clean" and "install"
install: flash fuse

# if you use a bootloader, change the command below appropriately:
load: all
  bootloadHID main.hex

clean:
  rm -f main.hex main.elf $(OBJECTS)

# file targets:
main.elf: $(OBJECTS)
  $(COMPILE) -o main.elf $(OBJECTS)

main.hex: main.elf
  rm -f main.hex
  avr-objcopy -j .text -j .data -O ihex main.elf main.hex
# If you have an EEPROM section, you must also create a hex file for the
# EEPROM and add it to the "flash" target.

# Targets for code debugging and analysis:
disasm:  main.elf
  avr-objdump -d main.elf

cpp:
  $(COMPILE) -E main.c


Wo liegt der Fehler? Sind die FuseBits richtig? und der ControllerTyp? 
Ich hab schon recherchiert aber zu dem Thema nichts passendes 
gefunden...

Danke

Flo

Autor: Michael H* (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
aaalso doch nachbaun ^^

aber erst mal: wo liegt WELCHER fehler?
das makefile kann auch nötig sein, aber viel viel nötiger ist die 
fehlermeldung selbst.

zum berechnen der fusewerte finde ich das avr-studio recht nett.
auf den ersten blick siehts nicht schlecht aus.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was muss ich zum beispiel bei device eintragen?

Danke

Flo

PS: Poste gleich ide Fehlermeldung

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier die Fehlermeldung (ist ziemlich lang)
Wo sind beim avr MacPack die Bibliotheken?

Macintosh:firmware Flops$ make
avr-gcc -Wall -Os -DF_CPU=8000000 -mmcu=atmega8 -c main.c -o main.o
main.c:10:21: error: io2313v.h: No such file or directory
main.c:11:20: error: macros.h: No such file or directory
main.c:24: warning: ignoring #pragma interrupt_handler 
Crossing_interrupt
main.c:25: warning: ignoring #pragma interrupt_handler IR_interrupt
main.c:26: warning: ignoring #pragma interrupt_handler Degre_interrupt
main.c:27: warning: ignoring #pragma interrupt_handler Ticker_interrupt
main.c:88: warning: return type of 'main' is not 'int'
main.c: In function 'main':
main.c:90: error: 'WDTCR' undeclared (first use in this function)
main.c:90: error: (Each undeclared identifier is reported only once
main.c:90: error: for each function it appears in.)
main.c:92: error: 'PORTD' undeclared (first use in this function)
main.c:93: error: 'DDRD' undeclared (first use in this function)
main.c:96: error: 'MCUCR' undeclared (first use in this function)
main.c:97: error: 'GIMSK' undeclared (first use in this function)
main.c:100: error: 'TCCR0' undeclared (first use in this function)
main.c:103: error: 'TCCR1B' undeclared (first use in this function)
main.c:104: error: 'TIMSK' undeclared (first use in this function)
main.c:107: error: 'PORTB' undeclared (first use in this function)
main.c:108: error: 'DDRB' undeclared (first use in this function)
main.c:115: warning: implicit declaration of function 'SEI'
main.c: In function 'Crossing_interrupt':
main.c:245: error: 'TCNT1' undeclared (first use in this function)
main.c:256: error: 'OCR1' undeclared (first use in this function)
main.c:257: error: 'TIFR' undeclared (first use in this function)
main.c: In function 'Degre_interrupt':
main.c:276: error: 'OCR1' undeclared (first use in this function)
main.c:276: error: 'TCNT1' undeclared (first use in this function)
main.c: In function 'Display':
main.c:296: error: 'PORTB' undeclared (first use in this function)
main.c: In function 'IR_interrupt':
main.c:359: error: 'ICR1' undeclared (first use in this function)
main.c: In function 'Ticker_interrupt':
main.c:399: error: 'TCNT0' undeclared (first use in this function)
make: *** [main.o] Error 1
Macintosh:firmware Flops$ make
avr-gcc -Wall -Os -DF_CPU=8000000 -mmcu=atmega8 -c main.c -o main.o
main.c:10:25: error: avr/io2313v.h: No such file or directory
main.c:11:20: error: macros.h: No such file or directory
main.c:24: warning: ignoring #pragma interrupt_handler 
Crossing_interrupt
main.c:25: warning: ignoring #pragma interrupt_handler IR_interrupt
main.c:26: warning: ignoring #pragma interrupt_handler Degre_interrupt
main.c:27: warning: ignoring #pragma interrupt_handler Ticker_interrupt
main.c:88: warning: return type of 'main' is not 'int'
main.c: In function 'main':
main.c:90: error: 'WDTCR' undeclared (first use in this function)
main.c:90: error: (Each undeclared identifier is reported only once
main.c:90: error: for each function it appears in.)
main.c:92: error: 'PORTD' undeclared (first use in this function)
main.c:93: error: 'DDRD' undeclared (first use in this function)
main.c:96: error: 'MCUCR' undeclared (first use in this function)
main.c:97: error: 'GIMSK' undeclared (first use in this function)
main.c:100: error: 'TCCR0' undeclared (first use in this function)
main.c:103: error: 'TCCR1B' undeclared (first use in this function)
main.c:104: error: 'TIMSK' undeclared (first use in this function)
main.c:107: error: 'PORTB' undeclared (first use in this function)
main.c:108: error: 'DDRB' undeclared (first use in this function)
main.c:115: warning: implicit declaration of function 'SEI'
main.c: In function 'Crossing_interrupt':
main.c:245: error: 'TCNT1' undeclared (first use in this function)
main.c:256: error: 'OCR1' undeclared (first use in this function)
main.c:257: error: 'TIFR' undeclared (first use in this function)
main.c: In function 'Degre_interrupt':
main.c:276: error: 'OCR1' undeclared (first use in this function)
main.c:276: error: 'TCNT1' undeclared (first use in this function)
main.c: In function 'Display':
main.c:296: error: 'PORTB' undeclared (first use in this function)
main.c: In function 'IR_interrupt':
main.c:359: error: 'ICR1' undeclared (first use in this function)
main.c: In function 'Ticker_interrupt':
main.c:399: error: 'TCNT0' undeclared (first use in this function)
make: *** [main.o] Error 1

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Niemand ne Idee?

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
also ich hab die fehlermeldungen mal kurz überflogen... und mir kommts 
fast so vor, als hättest du kein einziges include verwendet...

standard includes wie zb:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdlib.h>
.
.
.

und sicher noch irgendwelche speziellen

lg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.