Hi! Ich habe folgendes Problem: Ich habe einen AT89S8252 programmiert für die serielle Kommunikation. Das Programm läuft wunderbar und alles klappt wie es soll. Ich habe nur Recourcen verwendet, die auch der kleinere AT89C5051 bereitstellt. Ich habe also identischen Sourcecode, für beide Prozessoren, nur dass bei dem AT89C4051 das Senden über den UART nicht klappt. Zum Testen habe ich folgendes programmiert: Beim Empfang, wird das Byte wieder gesendet. Es kommt aber immer nur 255, egal was ich in SBUF schreibe. Ich konnte aber testen, dass die Bytes richtig empfangen werden. Ich habe auch die Baudrate mit dem Oszi überprüft, da stimmt alles. Warum klappt das nicht??? Die Prozessoren sind doch baugleich, bis auf die Extras, die der 8252 hat, die ich aber nicht verwende. Hiiiiilfe Tabi
Hast Du trotzdem beim Compilieren / Flashen als Type den 5051 angegeben? Vielleicht hat er ein paar Bits an anderer Stelle stehen.
ich hatte tatsächlich noch im compiler den falschen prozessor angegeben, aber die korrektur hat nichts gebracht :-((
Steht der Type im Sourcecode? das könnte Vorrang vor den Compilereinstellungen haben. Ansonsten weiß ich auch keinen Rat mehr.
Ist echt komisch. Im Code steht nur das Headerfile für die Registerzuordunungen und das habe ich ausgetauscht, bzw. den Header für den kleinen Prozessor genommen. Un mit dem Header läuft der Code auch auf dem großen :-/
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.