Ich habe Probleme mit der RS232 Übertragung. Und zwar möchte ich Daten zwischen ATMEGA8535 und PC über die RS232 austauschen. Mit Borland Builder C++ kann ich ohne Probleme die Daten empfangen. Wenn ich das hyperterminal benutze kann ich keine Daten sehen. Ich habe auf der Mikrocontroller Seite ein C# Projekt gefunden, mit dem man auch auf die RS232 zugreifen kann (Projektname C#: lastporttest).Leider funktioniert es damit auch nicht. Nur unter Borland Builder kann ich die Daten empfangen. Habt ihr eine Ahnung wo da der Fehler liegt? ATMEGA8535 C-Codeausschnitt: //***************************************************** interrupt [USART_RXC] void uart_rx_isr(void) { Zeichen = UDR; } interrupt [USART_TXC] void uart_tx_isr(void) { } //Hauptprogramm void main(void) { DDRB = 0xFF; PORTB = 0; DDRD = 0x00; PORTD = 0; PORTC_output(); t6963cinit(); LCD_Clear_Graphics(); LCD_Clear_Text(); UCSRB=0xD8; UBRRL=0x33; ACSR=0x80; #asm("sei") while (1) { delay_ms(100); //lcd_printfz(0, 3,"Zeichen:%2d",Zeichen); putchar('X'); }; }
Also mit C# funktioniert es jetzt auch. Vom Controller aus wollte ich mal ein Zeichenauf den PC senden. Mit C# oder auch Borland Builder C++ bekomme ich nur komische Zeichen. Ich sende in meiner While Schleife vom Controller z.B. den Buchstaben A while (1) { delay_ms(100); putchar("A"); //sende A nach PC }; } Was mache ich da systematisch falsch? WIe kann ich das A auf dem PC(C#) sehen?
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.