Forum: Compiler & IDEs 1 Byte senden über Bluetooth


von BlueTooth_boy! (Gast)


Lesenswert?

Hallo leute!


ich möchte von meinem PC aus via USB-Bluetooth-Stick an mein AVR-Board 
(welches an einen Serial-Bluetooth-adapter angeschlossen ist) ein Byte 
versenden. Den Inhalt des Bytes soll der Mikrocontroller auswerten und 
über den PortB, an den die LEDs angeschlossen sind, ausgeben.

Mit folgendem Code klappt bereits eine Kommunikation zum µC:




#include <avr/io.h>

int main (void)                   // <=== (1)
{
  DDRB = 0xFF;                    // PORTB Ausgang <=== (2)

  UCSRB |= (1<<RXEN);             //Empfangen aktivieren
  UCSRC |= (1<<URSEL)|(1<<UCSZ0)|(1<<UCSZ1); // 8N1
  UBRRH = 0;                      //Baudrate einstellen 9600 bei 8 MHz
  UBRRL = 51;

  while (1)                       // <=== (3)
  {
     while (!(UCSRA & (1<<RXC))); //warten bis senden fertig
     PORTB = UDR;                 //Zeichen auf PORTB-LEDs anzeigen
  }
}


ABER: wenn ich in Visual Basic dem SerialPort eine "1" übermittle, dann 
erscheint an meinem Board leider keine binäre 1 an den LEDs. Wird da 
noch was anderes gesandt als "nur" die "1"?

Vielen Dank

von Severino R. (severino)


Lesenswert?

Klar, denn "1" in VB ist das Zeichen mit ASCII 0x31 oder binär 00110001.
Ausserdem könnte es sein, dass VB noch ein CR anhängt.

Wenn Du den VB-Code-Ausschnitt auch noch posten würdest...

Übrigens: wie sprichst Du in VB die Bluetooth-Schnittstelle an? Als 
virtuellen serial Port?

Ausserdem: Hast Du versuchshalber mal einen PC an stelle Deines 
Mikrocontrollers an den Serial-Bluetooth-Adapter angeschlossen und 
geschaut, was da wirklich rauskommt?

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
Noch kein Account? Hier anmelden.