PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR-Fragen



pbürgi
28.03.2004, 09:06
Ein neuer Thread für mein jetzigen und zugünftigen AVR-Anfänger-Fragen:

Und hier mein erst Frage:
Im Artikel von Frank über den AVR-Einstieg braucht man im ISP-Adapter keinen 74HCT244 im Mikrocontroller.net-Tutorial schon. Warum?

Und gleich meine Zweite:
Zwischen den beiden ISP-Adapter aus http://rumil.de/hardware/avrisp.html ist die Steckerbelegung der einzige Unterschied, oder?
Man könnte also sich einfach nen Adapter basteln, und dann wären beide die gleichen.

Die Dritte:
Was braucht man um einen JTAG-In-System-Debugger aus sein Board zu bauen, und was ist das überhaupt?

Die Vierte und vorerst letzte Frage:
Könnte man in den ganzen Grundschaltungen auch einen mega16 bauen?
Wegen den internen Pullups im mega8?

Danke schon mal für die Antworten auf meine zahlreichen Fragen. :wink:

Kjion
28.03.2004, 09:51
1.) Man kann natürlich den Programmieradapter auch ohne 74HCT244 aufbauen, allerdings sind dann halt die Leitungen des Parallelportes direkt mit einer Schaltung verbunden. Das heißt wenn es einen Fehler in deiner Schaltung gibt, kannst du damit auch den Parallelport kaputt machen. Und so ein 74HCT244 ist halt billiger als ein Mainboard, da macht das nicht so viel ;)

2.) Ja, der 6-Polige ist halt kleiner, der 10-Polige eine Art inozieller Standart ( alle käuflichen haben soweit ich weiß 10 - Pole )

3.) Schwieriger. JTAG ist eine Art im System Simulieren, das heißt man simuliert nicht nur am PC, sondern direkt in der Schaltung. Obs sinnvoll ist oder nicht weiß ich auch nicht. Man kann halt auch nicht alles damit machen ( zum Beispiel irgendwelche schnellen Sachen anschauen, dann passiert es nämlich, das man auf dem PC schön einzelschritt ausführt und der Roboter gerade gegen eine Wand rast ;) )

4.) Ja, kann man auch ohne Probleme mit einem ATMega16 bauen...

Wegen den internen Pullups im mega8?
?? Alle AVRs haben interne Pullups ... oder was meintest du ??

MfG Kjion

pbürgi
28.03.2004, 10:01
Alle AVRs haben interne Pullups ... oder was meintest du ??


achso ich dachte viele empfehlen den mega8 wegen eingebauter pullups.

bertie
08.05.2004, 12:40
Hi,
Hat einer von euch eine Grundschaltung von einem ATMega128??
mfg
bertie

08.05.2004, 13:02
Habe das gefunden http://www.lins.de/download/Crumb128_R16_schematic.pdf

Kennt ihr noch Alternative?

bertie
08.05.2004, 13:17
Vielen Dank Gast, :lol:
Ich wolte dann noch fragen wo es die Teile am billigsten gibt? :?:
mfg
bertie

Gottfreak
12.05.2004, 22:57
Ähm, wie kommt PBürgi auf meine Ignorierliste(der erste Beitrag fehlt bei mir, weswegen ich das jetzt bemerke)?

Frank
12.05.2004, 23:12
Hi, da mußt Du wohl irgendwann man versehendlich den falschen Button irgendwo gedrückt haben, sonst kann keiner auf die Ignorierliste kommen

pbürgi
11.06.2004, 14:54
Hallo ich hab jetzt mal wieder n prop: Also alles funzt, programme übertragen, wieder lesen, fusebits setzen, soweit alles ok ABER irgendwie schaff ichs net das des prog ausgeführt wird.
Ich hab nen mega8 und bis jetzt ne led an pb1 und nen taster an pb0.
Kann evtl einer von euch ein kurzes Prog in assembler posten, dass bei euch funzt. Ne kurze Erklärung wie man es dann zum laufen kriegt wäre auch net.
Wie gesagt übertragen kann ichs und lesen auch, also es ist im avr, aber irgendwie leuchtet die led net.

Und bitte postet nicht irgendwelche links auf www.mikrocontroller.net etc.

Gottfreak
14.06.2004, 13:51
Hier ist eins:
Wenn Taster und LED gegen Masse angeschlossen sind, leuchtet die LED, wenn der Taster gedrückt ist.
Wenn die LED gegen Vcc geht, isses umgekehrt(also LED leuchtet, wenn der Taster offen ist.).
Wenn der Taster gegen Vcc geht, brauchst du noch 'nen Pulldown an PB0 und es ist auch umgekehrt.
Wenn beides gegen Vcc ist, leuchtet die LED bei gedrücktem Taster (und auch sonst immer, wenn du keinen Pulldown-Wiederstand am Taster hast.).


.include "m8def.inc"
start:
ldi r16, LOW(RAMEND) ; LOW-Byte der obersten RAM-Adresse
out SPL, r16
ldi r16, HIGH(RAMEND) ; HIGH-Byte der obersten RAM-Adresse
out SPH, r16

ldi r16,&b00000010
out DDRB,r16 ; PortB1 auf Ausgang, Rest auf Eingang
ldi portb,r16 ; LED an, Pullups aus
loop:
sbis portb,0
cbi portb,1
sbic portb,0
sbi portb,1
rjmp loop ; Endloschleife

pbürgi
14.06.2004, 14:32
Thx werds gleich ausprobieren.

pbürgi
14.06.2004, 17:45
OK die LED brennt, geht aber weder an noch aus wenn ich auf den Taster drück!
&b00000010 ist 0b00000010 das ist klar
aber was ist mit ldi portb,r16? in PORTB kann man doch nur mit out schreiben. Muss es nicht out PORTB,r16 heißen?

PS. Taster und LED hängen gegen 5V.

Gottfreak
14.06.2004, 19:41
&b00000010 ist 0b00000010 das ist klar

Stimmt, Tipfehler von mir


aber was ist mit ldi portb,r16? in PORTB kann man doch nur mit out schreiben. Muss es nicht out PORTB,r16 heißen?

ja, es muss OUT heißen.


PS. Taster und LED hängen gegen 5V.

Dann musst du einen Pulldown-Widerstand zwischen den Port mit dem Taster und gnd machen, weil sonst der Port mit dem Taster immer auf Vcc liegt, ob der nun gedrückt ist oder nicht (hatte ich für den Fall oben übrigens schon prophezeiht.).

pbürgi
14.06.2004, 19:59
Ich hab die LED und den Taster folgendermasen geschaltet:
http://www.mikrocontroller.net/images/led.gif

http://www.mikrocontroller.net/images/taster.gif[/img]

Gottfreak
14.06.2004, 21:04
Wenn der Taster an PortD hängt, musst du bei der Abfrage natürlich auch sbis (bzw. sbic) portD,x schreiben.
Ansonsten müsste so schon was passieren.
Der Widerstand R2 muss übrigens nicht sein, wenn du im Code PortD.x auf 1 setzt(wenn der Port als Eingang konfiguriert ist.). Dann ist der im AVR integrierte Pullup eingeschaltet.
PS: Du schriebst, der Taster hinge "gegen 5V". Laut deinem schaltplan hängt er gegen gnd.

pbürgi
15.06.2004, 13:22
Stimmt sry, ich habs genau wie auf dem Bild aufgebaut, nur an den PORTB, d.h. pin unten links und unten rechts.