Charly_cs
12.11.2006, 13:52
Hi!
Ich möchte einen empfangenen String im µc auswerten, nur schaffe ich es einfach nicht. Laut Fleurys Angabe ist das Empfangene Zeichen ein "unsigned int" in diesem Fall die Variable "c". Jetzt würde ich "c" gerne mit strings vergleichen um eine Led leuchten zu lassen. Nur wie vergleiche ich ein unsigned int und einen String??
Hier ist mein Code:
#define F_CPU 16000000
#include <stdlib.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include <avr/uart.h>
#define UART_BAUD_RATE 19200
unsigned int Empfangen(void);
int main(void)
{
DDRD = (1<<DDD5);
uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );
sei();
int i;
unsigned int c;
char d = "a";
for(;;)
{
_delay_ms(10);
c=Empfangen(); //Aufruf der Funktion Empfangen (steht nach der main-Funktion)
if (c==d) //Abgleich von c und d, hier steckt der Wurm drin
{
PORTD |= (1<<PD5);
for(i=0;i<100;i++)
{
_delay_ms(10);
}
PORTD &= ~(1<<PD5);
}
}
}
unsigned int Empfangen(void) //Uart Abfrage und Rückgabe von c
{
unsigned int c;
c = uart_getc();
return(c);
}
Gruß
Charly
Ich möchte einen empfangenen String im µc auswerten, nur schaffe ich es einfach nicht. Laut Fleurys Angabe ist das Empfangene Zeichen ein "unsigned int" in diesem Fall die Variable "c". Jetzt würde ich "c" gerne mit strings vergleichen um eine Led leuchten zu lassen. Nur wie vergleiche ich ein unsigned int und einen String??
Hier ist mein Code:
#define F_CPU 16000000
#include <stdlib.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
#include <avr/pgmspace.h>
#include <util/delay.h>
#include <avr/uart.h>
#define UART_BAUD_RATE 19200
unsigned int Empfangen(void);
int main(void)
{
DDRD = (1<<DDD5);
uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) );
sei();
int i;
unsigned int c;
char d = "a";
for(;;)
{
_delay_ms(10);
c=Empfangen(); //Aufruf der Funktion Empfangen (steht nach der main-Funktion)
if (c==d) //Abgleich von c und d, hier steckt der Wurm drin
{
PORTD |= (1<<PD5);
for(i=0;i<100;i++)
{
_delay_ms(10);
}
PORTD &= ~(1<<PD5);
}
}
}
unsigned int Empfangen(void) //Uart Abfrage und Rückgabe von c
{
unsigned int c;
c = uart_getc();
return(c);
}
Gruß
Charly