-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Arduino UART

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2013
    Beiträge
    5

    Arduino UART

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo das ist meine erste Frage also entschuldigung im voraus falls ich etwas falsch mache.

    Mein Problem:
    Ich Arbeite mit Atmel Studio 6.0 und Programmiere ein Arduino Uno mit 16MHz.

    Nun möchte ich ein Programm schreiben damit ich über Serielle Komunikation ein Char ('a') sende und diesen Buchstaben will ich am Terminal Window anzeigen.
    Das Problem ist, dass immer irgendwelche Zeichen angezeigt werden.

    Hir der Code:
    Code:
    #include <avr/io.h>
    #define F_CPU 16000000UL
    
    #define BAUD 9600
    #define MYUBRR ((F_CPU/(BAUD*16))-1)
    
    
    void USART_Init(unsigned int ubrr)
    {
    	//baud rate
    	UBRR0H=(unsigned char) (ubrr>>8);
    	UBRR0L=(unsigned char) ubrr;
    			
    	//frame format: 8data, 2stop bit
    	UCSR0C = (1<<UCSZ01)|(1<<UCSZ00)|(1<<USBS0);
    	
    	//Enable receiver and transmitter
    	UCSR0B = (1<<RXEN0)|(1<<TXEN0);
    }
    
    void data_send(unsigned char data)
    {
    	while ( !( UCSR0A & (1<<UDRE0)) );
    	//daten senden
    	UDR0=data;
    }
    
    int main(void)
    {
    	USART_Init(MYUBRR);
        while(1)
        {
    		data_send('a');
        }
    }
    bitte um hilfe

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    32
    Beiträge
    647
    Hi,

    hast du am PC alle Einstellungen richtig vorgenommen?
    Du hast im Code 8Datenbits und 2 Stopbits eingestellt. Ist das am PC auch so? Normalerweise nimmt man nur 1 Stopbit.
    Ist am PC auch 9600 Baud eingestellt?

    Sind die register wirklich alle richtig so? Ich hab jetzt nicht ins Datenblatt geguckt aber da kann sich schnell ein fehler einschleichen.

    Gruß Daniel
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  3. #3
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Hallo Michi
    Warum nimmst Du beim Arduino das AVR Studio zum Programmieren und nicht die Spottleichte Arduino-IDE, da kann man nix bei falschmachen...
    Gewiss kann man den Arduino per ISP programmieren..aber ich habe dies ausser zum BL brennen noch nie genutzt...

    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2013
    Beiträge
    5
    hast du am PC alle Einstellungen richtig vorgenommen?
    Du hast im Code 8Datenbits und 2 Stopbits eingestellt. Ist das am PC auch so? Normalerweise nimmt man nur 1 Stopbit.
    Ist am PC auch 9600 Baud eingestellt?

    Sind die register wirklich alle richtig so? Ich hab jetzt nicht ins Datenblatt geguckt aber da kann sich schnell ein fehler einschleichen.
    Die PC Einstellungen sind alle richtig eingestellt. Und normalerweise sollten auch alle register richtig sein.
    Hab ich vielleicht etwas vergesen zu aktivieren?
    Ich benutze das Arduino über die USB-Schnitstelle, muss ich da was anders machen?


    Warum nimmst Du beim Arduino das AVR Studio zum Programmieren und nicht die Spottleichte Arduino-IDE, da kann man nix bei falschmachen...
    Ich benutze das AVR Studio weil ich es in der Schule benutze. Ich hab am Anfang in der Arduino-IDE programmiert (dort hat die Serielle komunikation auch funktioniert), aber das ist zu leicht, und funktioniert auch nur bei Arduino. Da ich auch andere MCU programmieren will ist das AVR-Studio besser geeignet.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von oderlachs
    Registriert seit
    17.05.2010
    Ort
    Oderberg
    Alter
    67
    Beiträge
    1.118
    Blog-Einträge
    1
    Ich benutze das AVR Studio weil ich es in der Schule benutze. Ich hab am Anfang in der Arduino-IDE programmiert (dort hat die Serielle komunikation auch funktioniert), aber das ist zu leicht, und funktioniert auch nur bei Arduino. Da ich auch andere MCU programmieren will ist das AVR-Studio besser geeignet.
    Das ist natürlich ein triftiger Grund, den ich nicht wusste.

    na dann noch viel Spass und Glück dabei alles noch richtig hinzubekommen..
    Gerhard
    Arduinos, STK-500(AVR), EasyPIC-40, PICKIT 3 & MPLABX-IDE , Linux Mint

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Abgesehen davon hat der Arduino-Dialekt sehr viel Overhead und ist dementsprechend langsamer (bei den meisten Anwendungen natürlich nicht so wichtig) und mit avr-gcc lernt man auch mehr da das ganze nicht so vereinfacht ist und man einigermaßen verstehen muss was genau getan wird, sodass man in Zukunft Probleme auch selber lösen kann anstatt aus fertigen Bibliotheken und Codebeispielen zusammenkopieren muss. Über die Arduino-IDE möchte ich jetzt gar nicht herziehen aber wer schon mal mit einer richtigen IDE/Editor programmiert hat weiß was ich meine

    Die Idee hinter Arduino finde ich aber super und für Anfänger ohne Vorkenntnisse sind sie eben aufgrund der Einfacheit und der vielen Beispiele gut geeignet.

  7. #7
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    17.09.2004
    Alter
    32
    Beiträge
    647
    Naja den Overhead kann man aber loswerden indem man es in normalem C schreibt so wie oben. Dann kann man sachen die man noch nicht versteht erstmal aus der Lib ziehen und später eigene C Routinen schreiben die auf das spezielle Problem zugeschnitten sind.

    @michi: Versuchs mal bitte mit nur 1 Stopbit. Kann es evtl sein das dein USB to RS232 Adapter nicht mit 2 stopbits klarkommt? Ist nur so ne Idee.
    Unser Sommer ist ein grün angestrichener Winter. Das einzige reife Obst, das wir haben, sind gebratene Äpfel. [Heinrich Heine]

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2013
    Beiträge
    5
    Versuchs mal bitte mit nur 1 Stopbit. Kann es evtl sein das dein USB to RS232 Adapter nicht mit 2 stopbits klarkommt? Ist nur so ne Idee.
    Habe es veruscht aber ohne Erfolg. Habs auch mit anderer Baud versucht aber auch ohne Erfolg.
    Ich benutze keinen RS232 Adapter.
    Das Arduino (ATmega328P) wird über USB-Programmiert.

    Hier mal ein Bild was ich im Terminal empfange:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Unbenannt.jpg
Hits:	8
Größe:	134,5 KB
ID:	24988

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    28.03.2013
    Beiträge
    5
    Das problem hat sich erledigt. Es Funktioniert schon.

  10. #10
    Erfahrener Benutzer Begeisterter Techniker Avatar von Chypsylon
    Registriert seit
    02.02.2011
    Ort
    Graz/Österreich
    Beiträge
    256
    Falls andere Leute in Zukunft das gleiche Problem haben wäre es super wenn du noch sagst was das Problem/lösung war

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. [ERLEDIGT] [ARDUINO] 2 Motoren + Servo mit dem Arduino Uno steuern
    Von Torrentula im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 31.08.2011, 17:31
  2. ARDUINO ARDUINO l293D + MegaservoLib
    Von m1ch15inner im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 2
    Letzter Beitrag: 11.07.2011, 12:50
  3. BASCOM 2te UART oder software UART
    Von Snecx im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 19.02.2009, 00:25
  4. Daten von Software UART nach Hardware UART weiterleiten
    Von kusli im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 06.10.2008, 22:24
  5. AT90USB1287 und Beispielprogramm CDC (UART --> USB-UART)
    Von Bumbum im Forum C - Programmierung (GCC u.a.)
    Antworten: 9
    Letzter Beitrag: 15.11.2006, 13:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •