Hi,
ich bastel mal wieder an einer Kleinigkeit rum. Es ist ein Atmega168 mit
ein bissl Display und Tasterzeugs drum rum in einem Gehäuse. Ich habe
auch eine Programmierbuchse mit eingebaut in die ich meinen Programmer
stöpseln kann.
Wenn ich nun alles soweit programmiert habe, habe ich mir gedacht,
könnte ich diese Buchse ja für InfozweckeAusgaben als RS232 nutzen.
Jetzt kam mir in den Kopf die Leitungen doppelt zu nutzen und dazu habe
ich 2 Fragen:
1) kann das so gehen, also dass ich diese Verbindungen so am Atmega
dauerhaft anbringe? Ich hoffe das es während der Programmierung nicht
stört, da ich davon ausgehe dass alle anderen Pins eh hochohmig sind,
und während der normalen Nutzung schalte ich die entsprechenden SPI Pins
dann hochohmig.
2) Ich habe das mal für einen Atmega128 gemacht, nur das man dort gleich
sowieso zur Programmierung mit dem ISP die RS232 Pins (RXD und TXD)
nutzen muss, und nicht die SPI Pins, warum auch immer... Ich würde das
ganze gern funktionskompatibel haben, deswegen meine Frage, ist MISO am
Atmega168 ein Dateneingang oder Datenausgang während der
Programmierphase (Master In Slave Out) ich gehe mal davon aus dass der
Chip während der Programierung der Slave ist, dann müsste es also der
Datenausgang des Chips sein...So wie ich das sehe ist TXD beim Atmega128
ja auch der Datenausgang des Atmegas128 während der
Programmierphase...Demnach sollte das auf meiner Zeichnung
richtungsrichtig verbunden sein, sodass ich den Adapter (RS232 Wandler)
auch für ein späteres Atmega128 Projekt nutzen könnte, oder?
Gruß,
Thorsten
Hi,
schau mal beim Atmega128 auf seite 80, da steht:
PE1 PDO/TXD0 (Programming Data Output or UART0 Transmit Pin)
PE0 PDI/RXD0 (Programming Data Input or UART0 Receive Pin)
Gruß,
H.
Thorsten S. schrieb:> 1) kann das so gehen, also dass ich diese Verbindungen so am Atmega> dauerhaft anbringe? Ich hoffe das es während der Programmierung nicht> stört, da ich davon ausgehe dass alle anderen Pins eh hochohmig sind,> und während der normalen Nutzung schalte ich die entsprechenden SPI Pins> dann hochohmig.
Du könntest auch Multiplexer oder HC125/HC126 nehmen und zwischen ISP
und UART hin- und herschalten. Die Umschaltung machst Du mit /RESET. Nur
wenn /RESET low ist, ist auch ISP aktiv, bei /RESET high läuft der
Prozessor, und die UART-Pins sind aktiv. So kannst Du das SPI auch für
andere Dinge noch verwenden.
Ich mache das ganz gerne mit HC125/HC126. Das sind Puffer mit Enable,
wobei bei einem das enable aktiv high ist und beim anderen aktiv low.
fchk
Michel schrieb:> Warum programmierst du deinen µC nicht direkt per Bootloader über die> RS232. Das spart irgendwelche Umschaltereien und den Programmer.
Und wo bekommst Du die mit Deinem Bootloader programmierten Controller
her? Was machst Du bei einem zerschossenen Bootloader? Ach ja, ich weiß:
ein dummes Gesicht.
Mann, ein HC125/HC126-Pärchen liegt im Centbereich. Das lohnt nicht,
sich da irgendeinen großen Kopf drum zu machen.
fchk
Hey,
danke für die Antworten.
Ich habe in dem Gerät eine Buchse mit 6 Pins, das ist alles festgelegt,
da kann ich leider keine 2 mehr hinzufügen.
Danke für den Tip mit den Gattern, für den Fall das es nicht geht, habe
ich schon etwas im Gepäck, ich denke ich werde das morgen einfach mal
mit gebrückten Pins versuchen... :-)
Bootloader passt nicht mehr rein...
Danke für die Infos zum Atmega128, dort steht klar was im
Programmierfall RX und was TX ist, aber wie ist das beim SPI
Programmieren, was ist die Datenleitung aus dem Programmer raus, und
welche führt rein? Wer ist Master, wer ist Slave? MISO MOSI... ?Wenn der
Programmer im Programmierfall Master ist, was mir logisch scheint, dann
wäre MISO am uc doch datenausgang, oder?
Gruß,
T.
Hannes schrieb:> Beitrag "Programmierung von ATmega128">> Datenblatt Atmega128 Seite 300.>> H.
Das weiß ner selbst, es geht nicht um den Mega128 sondern um den
Mega168!
Der Programmer ist Master, der AVR ist Slave. MOSI am AVR ist Eingang,
MISO am AVR ist Ausgang. Ist auch im Datenblatt (doc2545.pdf) im Kapitel
Serial Downloading in Figure 27-7 auf Seite 297 nachzulesen.
...
Hi zusammen,
habe das jetzt ausgetestet. Die "Parallelschaltung" von Mosi B3 & RX D0
sowie Miso B4 mit TX D1 ist kein Problem beim Programmieren. Man kann
sogar einen Max232 dauerhaft mit dran hängen, es stört nicht bei der
Programmierung mit MKII.
So bekommt man also über einen Stecker 2 Schnittstellen (SPI zum
Programmieren) und (232 zum Kommunizieren) über die gleichen Pins aus
dem Gerät. Man kann also zum Programmieren den Programmer dran hängen
und später Rs232 Kommunikation machen.
Gruß,
T.S.