- LiFePO4 Speicher Test    Werbung      
Ergebnis 1 bis 3 von 3

Thema: Nibobee Advanced

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von vohopri
    Registriert seit
    11.09.2004
    Ort
    südlich der Alpen
    Beiträge
    1.708
    Servus,

    das ist ja eine hübsche Plattform und du hast da schon einiges durchgearbeitet. Das gefällt mir gut.

    Persönlich würden mich die Schaltpläne und Details der Bluetooth Verbindung interessieren. Einerseits auf dem Bot und andrerseits am PC. Geht das da über die Serielle, über USB und welch api Funktionen sprechen die Verbindung an?

    Auch die Logik des Verbindungsaufbaus hätte mich interssiert.

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    28.12.2009
    Beiträge
    5
    Hi vohopri,

    danke schön.

    Schaltplan ist recht einfach, auf der Nibobee sind bereits Stiftleisten mit diversen Ports des ATMega16 verbunden. Unter anderem ist dort am Connector X5 RXD und TXD der UART des Chips ausgeführt. Die hab ich über Widerstände an ein BTM-222 angeschlossen (Weil verschiedene Pegel BTM222 3,3V und Nibobee 5V). Mit einem 3,3V Stabi-IC wird das Modul versorgt. Status LEDs kann man am Modul anschließen, muss man aber nicht.

    Die Software dazu:

    Code:
    void writeChar(uint8_t data )
    {
       while ( !( UCSR0A & (1<<UDRE0)) );
       UDR0 = data;
    }
    
    void writeString(char *string)
    {
       while(*string)
          writeChar(*string++);
    } 
    
    /*void uart_init(void) ATMEGA16
    {
      UCSRB |= (1<<TXEN);  // UART TX einschalten
      UCSRB |= (1<<RXEN);                         // UART RX einschalten
      UCSRC |= (1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0);  // Asynchron 8N1 
     
      UBRRH = UBRR_VAL >> 8;
      UBRRL = UBRR_VAL & 0xFF;
    }*/
    
    void uart_init(void) //ATMEGA1284
    {
      UCSR0B |= (1<<TXEN0);  // UART TX einschalten
      UCSR0B |= (1<<RXEN0);                         // UART RX einschalten
      UCSR0C |= (1<<USBS0)|(3<<UCSZ00);  // Asynchron 8N1 
     
      UBRR0H = UBRR_VAL >> 8;
      UBRR0L = UBRR_VAL & 0xFF;
    }
    
    uint8_t uart_getc_nb(void) //non blocking
    {
        if (!(UCSR0A & (1<<RXC0))) {
                    return 0;
        } else {
            return UDR0;
            }                   // Zeichen aus UDR an Aufrufer zurueckgeben
    }
    
    uint8_t uart_getc(void)
    {
        while (!(UCSR0A & (1<<RXC0)))   // warten bis Zeichen verfuegbar
            ;
        return UDR0;                   // Zeichen aus UDR an Aufrufer zurueckgeben
    }
    
    void uart_gets( char* Buffer, uint8_t MaxLen )
    {
      uint8_t NextChar;
      uint8_t StringLen = 0;
     
      NextChar = uart_getc();         // Warte auf und empfange das nächste Zeichen
     
                                      // Sammle solange Zeichen, bis:
                                      // * entweder das String Ende Zeichen kam
                                      // * oder das aufnehmende Array voll ist
      while( NextChar != '\n' && StringLen < MaxLen - 1 ) {
        *Buffer++ = NextChar;
        StringLen++;
        NextChar = uart_getc();
      }
     
                                      // Noch ein '\0' anhängen um einen Standard
                                      // C-String daraus zu machen
      *Buffer = '\0';
    }
    


    Es gibt Anleitungen im Netz dazu aber so ganz haben die dann doch nicht funktioniert. Deswegen hab ich dann die Grundfunktionen einfach nach dem Datenblatt nach implementiert.

Ähnliche Themen

  1. nibobee chassis
    Von -re- im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 6
    Letzter Beitrag: 14.05.2011, 16:15
  2. [NiboBee] ATmega32
    Von waschtl im Forum Sonstige Roboter- und artverwandte Modelle
    Antworten: 6
    Letzter Beitrag: 29.01.2011, 10:36
  3. AVTR - Advanced Vehicle for Terrestrial Research (AVaTaR)
    Von Coleone im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 24
    Letzter Beitrag: 28.10.2010, 21:15
  4. Hilfe !!! C-Control I Station Advanced Unit Advaced
    Von mary_bigmary im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 1
    Letzter Beitrag: 01.02.2010, 19:49
  5. Sprung Problem bei Station Advanced
    Von Filozof im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 16.12.2008, 18:46

Berechtigungen

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

    Werbung      LiFePO4 Speicher Test