PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RFM12 Module mit 868MHz und receive();



Ferdinand
12.07.2011, 18:17
Hallo

Ich hab da mal wieder so ne Verständnisfrage?

Und zwar habe ich hier 2 RFM12 Module mit 868MHz und einem ATmega644 mit 8MHz und einen ATmega16 mit 10 MHz
Jetzt habe ich mich im http://www.mikrocontroller.net/ Forum umgeschaut und habe dort ein tollen C Code gefunden, den ich zum aus Probieren nehmen wollte.
http://www.mikrocontroller.net/topic/67273
Das mit dem Senden verstehe ich, nur das mit dem empfangen verstehe ich nicht ich hab schon ein bisschen herum experimentiert bekomm es aber nicht gebacken.

Wie muss ich die Funktion receive(); benutzen wen ich das empfangene dort lcd_string( ); lcd_string( receive() ); aus geben möchte oder wie kann ich das gesendete weiter verarbeiten muss ich dort noch mall ein Arry erstellen?

Ferdinand
13.07.2011, 23:35
Hi

Da hätt ich auch gleich drauf kommen können.

void receive(void)
{ unsigned char test[16];
rf12_rxdata(test,16);
// daten verarbeiten

lcd_setcursor( 0, 2 );

lcd_string(test);

_delay_ms(10000);


}


Nur jetzt habe ich so eine Warnung ?
../lcd.c: In function 'receive':
../lcd.c:70: warning: pointer targets in passing argument 1 of 'lcd_string' differ in signedness
../lcd-routines.h:79: note: expected 'const char *' but argument is of type 'unsigned char *'


LCD-Routine
////////////////////////////////////////////////////////////////////////////////
// Schreibt einen String auf das LCD

void lcd_string( const char *data )
{
while( *data != '\0' )
lcd_data( *data++ );
}

Was ist den das mit der "const char" kann mir einer erklären, was dies für eine Funktion hat und wie ich das Problem beheben könnte?

Danke