Geehrte Microcontroller Gemeinde, ich habe eine SW entwickelt, die über eine RS232 Schnittstelle ein Byte zu meinem ATmega32 sendet. Dieser empfängt dieses Byte via USART-Interrupt und zeigt mir das Ergebnis an PORTA an meinem STK-500 ohne Probleme an. Sende ich dieses Byte allerdings über ein USB-485-Konverter und einen Differential Bus Transceiver (SN75176) bekomme ich nur "Müll" heraus. Kennt jemand ddieses Problem und kann mir helfen? Vielen Dank!
Nein, beide Assembler sind bis auf den HW-Pegelwandler die selben.
genau das meinte ich auch. Ist der HW-Pegelwandler am Controller auf senden oder auf Empfangen. Ich gehe davon aus dass du den MAX232 o.ä. gegen den 75176 getauscht hast.
Am besten machst du mal ein Foto von dem Aufbau UND zeichnest uns einen schönen Schaltplan, so wie es angeschlossen IST. Sonst wird das eher schwierig. Grüße, Benni
nochmal verständlicher. Am 75176 müssen die Pins 2 und 3 LOW sein wenn du Empfangen willst
warum nicht? Ich hatte mal einen gekauft und der war kaputt :D Zeig doch mal nen Schaltplan, BITTE!!
Danke, ich habe die Lösung gefunden. Es muß de DMX-Anschluß tauschen, also DMX-PLUG Pin3 an PIN6 vom 75176 und DMX-PLUG Pin2 an PIN7 vom 75176. DANKE!
sag ich ja :D (Sowas hätte man halt nur im Schalplan gesehen, wenn überhaupt ;) oder im Foto vom Aufbau) Schönen Tag!
Hast du ein Oszilloskop oder einen Logic-Analyzer zur Verfügung? Wenn ja, dann lass dir mal untereinander das Tx-Signal von UART und den Drive Enable vom 485-Treiber darstellen. Und dann schau mal, ob der Treiber noch im Sendebetrieb ist wenn die letzten Bits aus dem UART rausgeschoben wenden. Hatte das Problem mal auf dem PIC16F877. Der Tx-Interrupt wird nämlich bei den meisten Controllern ausgelöst wenn ein neues Byte in das Tx-Register geschrieben werden kann und NICHT erst wenn das Transmit Shift Register leer ist. Das bedeutet, dass du den Pin, der mit dem DE-Eingang des 485-Treibers verbunden ist nicht im Tx-Interrupt auf Low setzen darfst. Stattdessen muss das Busy-Flag des UART abgefragt werden und dann erst darf der DE auf Low gehen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.