Mooin
ich habe mal wieder ein Problemchen..
Versuche gerade was mit einem "HC06" Bluetooth Modul auf zu bauen.
Empfangen und alles klappt soweit.
Nun benutze ich die UART Bibliothek von "Peter Flury".
Dort ist das Empfangen mit einem Buffer realisiert.
CodeBox C
Wenn ich was auf dem Puffer auslesen möchte, gibt es die Funktion..
CodeBox C
Wenn ich diese Funktion nutze und den Speicherinhalt von diesem Puffer in einen anderen kopiere, klappt es.
Schreibe ich in den Puffer, den String statisch rein, den ich eigentlich erwarte, klappt es auch.
CodeBox C
Laut Terminal empfange ich auch genau diesen String, also diese Zeichen empfange ich richtig und ohne Sonderzeichen.
Hat jemand eine Idee?
ich habe mal wieder ein Problemchen..
Versuche gerade was mit einem "HC06" Bluetooth Modul auf zu bauen.
Empfangen und alles klappt soweit.
Nun benutze ich die UART Bibliothek von "Peter Flury".
Dort ist das Empfangen mit einem Buffer realisiert.
CodeBox C
static volatile unsigned char UART_RxBuf[UART_RX_BUFFER_SIZE];
Wenn ich was auf dem Puffer auslesen möchte, gibt es die Funktion..
CodeBox C
unsigned int uart_getc(void) { unsigned char tmptail; unsigned char data; if ( UART_RxHead == UART_RxTail ) { return UART_NO_DATA; /* no data available */ } /* calculate /store buffer index */ tmptail = (UART_RxTail + 1) & UART_RX_BUFFER_MASK; UART_RxTail = tmptail; /* get data from receive buffer */ data = UART_RxBuf[tmptail]; data = (UART_LastRxError << 8) + data; UART_LastRxError = 0; return data; }/* uart_getc */
Wenn ich diese Funktion nutze und den Speicherinhalt von diesem Puffer in einen anderen kopiere, klappt es.
Schreibe ich in den Puffer, den String statisch rein, den ich eigentlich erwarte, klappt es auch.
CodeBox C
while(1) { [I]strcpy[/I]((char*)UART_RxBuf,"LEDon"); getState((char*)UART_RxBuf); }
Laut Terminal empfange ich auch genau diesen String, also diese Zeichen empfange ich richtig und ohne Sonderzeichen.
Hat jemand eine Idee?