Hallo, ich habe eine GPS Antenne an der zweiten RS232 Schnittstelle des ATmega128 angeschlossen. Da die Antenne ihr TxD Signal genau Phasenverdreht schickt (0=1 und 1=0), invertiere ich das Signal im Moment mit nem Transistor und gehe dann auf den RxD1 (Pin 27) des ATmega 128. Da mich der Wandler im Kabel stört würde ich das Invertieren gerne per Software lösen. Ist das möglich? Hat das schon jemand ausprobiert? Ich hoffe ihr könnt mir helfen, Fourstroker
> Da die Antenne ihr TxD Signal genau > Phasenverdreht schickt (0=1 und 1=0), invertiere ich das Signal im > Moment mit nem Transistor und gehe dann auf den RxD1 ( > Pin 27) des ATmega 128. da ist das signal des GPS, sicherlich kein TTL-Pegel ?
kannst ja nach empfang des Datenbytes dieses einfach bitweise invertieren. in c mit ~ in assembler mit neg
nene, das geht nicht. Einige MC können das (M16C z.B.), der AVR nicht. Einziger Ausweg: Software-Uart reinbasteln.
Kannst du das Signal im GPS Empfänger nicht vor der Wandlung auf RS232 Pegel abfangen?
> nene, das geht nicht. > Einige MC können das (M16C z.B.), der AVR nicht. Der hat kein XOR? Gruß, Nick
Nick Müller schrieb: >> nene, das geht nicht. >> Einige MC können das (M16C z.B.), der AVR nicht. > > > Der hat kein XOR? Kein Hardware XOR am Pin vor dem Hardware UART. Der xmega kann das übrigens auch.
> kannst ja nach empfang des Datenbytes dieses einfach bitweise invertieren.
Das hast du nicht ganz zu Ende gedacht:
Denn leider wird der Empfang nicht klappen, weil vor dem ersten Datenbit
das Strartbit kommt, und das die falsche Polarität hat...
Ich würde es beim Transistor belassen. Oder auch den XMega nehmen.
Wenn man von einem RS232-Treiber (z.B. Max232) noch einen Rin-Rout freihat kann man diesen als Inverter verwenden. avr
Servus, Bitweise invertieren kann nicht funktionieren, weil ja wenn 1 und 0 Level vertauscht sind für den ATmega nur Datenmüll ankommt. Am GPS Modul kann man dies leider auch nicht umschalten, wäre mir auch neu wenn das irgendeines könnte. Wenn es also nicht per SW am Mega geht, dann werd ich bei der Transistorlösung bleiben müssen da meine Schaltung ja bereits für andere Zwecke aufgebaut ist und läuft. Schade eigentlich :-(
Nimmst Du Bascom. SW UART dort kann das standardmäßig.
Ich benutze WinAVR. Angeschlossen ist der Empfänger an der zweiten UART Schnittstelle des MEGA 128. Soviel ich weiß handelt es sich dabei um eine SW UART. Daher dachte ich eigentlich auch, dass man das irgendwo umschreiben kann.
> ich habe eine GPS Antenne an der zweiten RS232 Schnittstelle des ATmega128 > angeschlossen. ... > Soviel ich weiß handelt es sich dabei um eine SW UART. Du widersprichst Dir selbst. Der ATM128 hat 2 HW UARTs, also ist eine Nutzung des zweiten HW UART recht wahrscheinlich. Da aber kein Code gezeigt wird, kann man nur raten. Ein SW UART könnte auf invertierend programmiert werden.
Ich benutze tatsächlich die zweite HW UART. Hab aber mal gehört, dass die zweite HW UART sich von der ersten unterscheidet und intern wie ne SW UART behandelt wird.
> Hab aber mal gehört, dass die zweite HW UART sich von > der ersten unterscheidet und intern wie ne > SW UART behandelt wird. Wird sie nicht. Wie sollte das auch gehen? Eine gute dem Hörensagen gegenüber zu bevorzugende Informationsquelle sind übrigens Datenblätter.
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.