Hallo Zusammen! Versuche für ein Schulprojekt einen Atmel T89C51CC01 mit der Software µ-Vison und Borland C++ zu programieren. Leider bekonnte ich die Verbindung über den Comportbis jetzt nicht herstellen. Die SIO.H habe ich bis jetzt so angepasst: void init(void){ PCON = 0x80; SCON = 0x52; TMOD = 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */ TH1 = 0xed; /* TH1: reload value for 4800 baud (vorher:f4) */ TR1 = 1; /* TR1: timer 1 run */ return; } Im Hauptprogramm versuche ich dann mit dem Befehl -> printf("A"); über den Comport den Buchstaben "A" zu übertragen. Leider hängt sich der Controller dann immer auf und arbeitet das restliche nicht mehr ab. Wo kann es dran liegen??? Bin über jeden Tip Dankbar!!! freundliche Grüsse Bob
Danke Peter! Es fängt langsam an zu laufen. Leider überträgt er nur ein 'Herz' statt den Buchstaben 'A'. Bautrate denn richtig eingestellt??? Grüsse Bob
Hallo Bob, hast Du auch den Reloadwert in TL1 eingetragen ? Stimmt deine Baudrate, sie ist abhängig von der CPU-Frequenz. Beispiel: void init(void){ PCON = 0x80; SCON = 0x52; TMOD = 0x20; /* TMOD: timer 1, mode 2, 8-bit reload */ TH1 = 0xed; /* TH1: reload value for 4800 baud (vorher:f4) */ TL1 = 0xed; TR1 = 1; /* TR1: timer 1 run */ . . RI = 0; // Empfängerinterrupt löschen TI = 0; // Sendeinterrupt löschen ES = 1; // Serialinterrupt freigeben EA = 1; // global interrupt } Beim senden: SBUF = 0x41; // Zeichen A while(TI==0); // Warten bis neues Zeichen gesendet TI = 0; // Sendeinterrupt löschen Gruß, Arthur
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.