Severity Code Description Project File Line
Warning control reaches end of non-void function [-Wreturn-type] TheTester C:\data\62734\afleveringer\forår2016\TheTester\TheTester\TheTester\uart.c 57
skyldes at funktionen ikke returnerer noget
unsigned char get_char_string(unsigned char *ptr)
{
unsigned char cx=0;
static unsigned char i=0; //tilføjet/rettet af Ole S
while ((cx=char8_g())!=0x2E)
{
*ptr=cx;
if(cx!='\n')
{
ptr++;
i++; //tilføjet af Ole S
}
// return mangler af en char
}
return i; //så vil der retuernes antal bytes læst ind i ptr med dette tilføjet fjerens fejlen!
}
tirsdag den 12. april 2016
søndag den 10. april 2016
array der deles som global variable skal være have static foran som modifier
static char array[størrelse]={0}; //ikke volatile
bit skal sættes med |= eller sletter man alle andre!!!!!!!!
UCSR0A = (1<<U2X0); //s223 databog duplex
UCSR0B |=(1<<RXEN0) | (1<<TXEN0); //enabled uart begge veje - dette er ok
EICRA = 0x08;//enabler interrupt på falling edge --dette hører ikke til i en uART! og der skal en |=
UCSR0B = (1<<RXCIE0); //her sletter man så det man enablede ovenfor fordi man ikke bruger |=
UCSR0A = (1<<RXC0);
Så rigtig kode:
UCSR0B |= (1<<RXCIE0); //der SKAKL BRUGES |= når man sætter bit i control registre af flere omgange!
UCSR0A |= (1<<RXC0);
UCSR0B |=(1<<RXEN0) | (1<<TXEN0); //enabled uart begge veje - dette er ok
EICRA = 0x08;//enabler interrupt på falling edge --dette hører ikke til i en uART! og der skal en |=
UCSR0B = (1<<RXCIE0); //her sletter man så det man enablede ovenfor fordi man ikke bruger |=
UCSR0A = (1<<RXC0);
Så rigtig kode:
UCSR0B |= (1<<RXCIE0); //der SKAKL BRUGES |= når man sætter bit i control registre af flere omgange!
UCSR0A |= (1<<RXC0);
Implicit declaration of function fejl
Severity Code Description Project File Line
Warning implicit declaration of function 'put_char' [-Wimplicit-function-declaration] UARTdemo F:\62734\afleveringer\forår2016\gr1Jeppe_Mathias_MathiasB\UART_Gruppe1\UART_Gruppe1\UARTdemo\uart.c 29
Warning implicit declaration of function 'put_char' [-Wimplicit-function-declaration] UARTdemo F:\62734\afleveringer\forår2016\gr1Jeppe_Mathias_MathiasB\UART_Gruppe1\UART_Gruppe1\UARTdemo\uart.c 29
Dette skyldes at prototypen ikke er defineret og implementeret før man kalder den
ex.
//funktion som skriver en streng ved at kalle put_char() et par gange.
void put_str(char *str){
while(*str){
put_char(*str); //denne funktion skal defineres før dvs. omvendt rækkefølge
str++;
}
}
//skriver en enkelt char til UART'en
void put_char(char data){
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = data;
}
så kode rækkefølge skal være
/skriver en enkelt char til UART'en
void put_char(char data){
while(!(UCSR0A & (1<<UDRE0)));
UDR0 = data;
}
void put_str(char *str){
while(*str){
put_char(*str);
str++;
}
}
Abonner på:
Opslag (Atom)