-
        

Ergebnis 1 bis 3 von 3

Thema: Atmega32 via VS 2010 Anwendung über RS232 ansteuern

  1. #1

    Atmega32 via VS 2010 Anwendung über RS232 ansteuern

    Anzeige

    Guten Abend Community,

    ich absolviere zurzeit im Rahmen meiner Weiterbildung zum Staatlich geprüften Techniker Fachrichtung Elektrotechnik eine 2,5 Monate lange Projektphase.
    Dazu sei gesagt das mein Projektteam und ich nur Anfänger sind was das Programmieren ansich angeht, bzw wir nur die Grundlagen kennen.

    Bei dem Projekt selber handelt es sich um eine Roboterplattform die mit einer Visual Studio 2010 Anwendung im Hand- und Automatikbetrieb über RS232 angesteuert wird. Aus Zeitgründen haben wir uns bei der Steuerelektronik für das RN-Control Board 1.4 und das RN-VNH2 Dualmotor Board entschieden.

    Unser Hauptproblem besteht momentan darin das wir zwar mit dem Atmega 32 senden können, diese Befehle/Daten auch vom Anwendungsprog empfangen werden. Aber die umgekehrte Richtung nicht klappt.

    Wir nutzen für die Übertragung die uart.h und uart.c von Peter Fleury leider stehe ich der für die Programmierung des Atmegas verantwortlich ist nun etwas auf dem schlauch weil ich es net rausbekomme wie ich die empfangenen Daten bzw Zahlenwerte so aus dem UDR bekomme, das ich sie zum Beispiel mit einer switch verzweigung den Fahrbefehlen "vor", "zurück" usw zuzuweisen kann.


    Wäre euch für Anregungen und Tips sehr dankbar da wir unter enormen Zeitdruck stehen.


    MfG Sascha

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.08.2008
    Ort
    DE
    Beiträge
    523
    Hier, das ist die Empfangsroutine vom Asuro:
    Code:
    void SerRead(unsigned char *data, unsigned char length, unsigned int timeout){
      unsigned char i = 0;
      unsigned int  time = 0;
    
    
      UCSRB = (1<<RXEN);                         // Empfaenger einschalten
    
    
      if (timeout != 0)
      {
        /*
          Die Funktion wird auf alle Faelle, auch ohne empfangene Daten, wieder
          verlassen. --> nonblocking mode
        */
        while (i < length && time++ < timeout)
        {
          if (UCSRA & (1<<RXC))
          {
            data [i++] = UDR;
            time = 0;
          }
        }
        if (time > timeout)
          data [0] = 'T';
      }
      else
      {
        /*
          Die Funktion wird auf alle Faelle erst nach dem Empfang von der
          vorgegebenen Anzahl Zeichen verlassen. blocking mode
        */
        while (i < length)
        {
          if (UCSRA & (1<<RXC))
            data [i++] = UDR;
        }
      }
    }
    Musst halt noch auf deinen Mega32 umschreiben. Prinzip sollte aber das gleiche sein.

    mfg

  3. #3
    Hi danke für die Hilfe habs jezz doch hinbekommen zwar anders aber trotzdem danke

Ähnliche Themen

  1. Mit Atmega32 über rs232 digitalports ansteuern
    Von furiouscars im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 16
    Letzter Beitrag: 09.05.2011, 20:14
  2. [ERLEDIGT] ATMega32 und PC über RS232 mit Pollin Modul
    Von jcrypter im Forum AVR Hardwarethemen
    Antworten: 19
    Letzter Beitrag: 19.08.2010, 09:06
  3. ATMega32 über RS232 Programmieren
    Von Ertugrul im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 11
    Letzter Beitrag: 25.06.2010, 17:53
  4. Atmega32 über RS232 Programmieren
    Von Sir.Zeiber im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 24.11.2008, 18:08
  5. ATMega32 über RS232/USB Adapter an PC geht nicht
    Von robodriver im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 5
    Letzter Beitrag: 11.06.2007, 10:05

Berechtigungen

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