torsdag den 26. november 2015

Når include for interrupt.h glemmes fås denne besked og fejl
Derfor skal #include <avr/interrupt.h>        altid med i alle moduler hvor der er erklæringer med interrupt - service routiner og enable af global interrupt

Fejlen er er fremprovokeret af ole s for at vise et eksempel

Warning    10    control reaches end of non-void function [-Wreturn-type]    C:\data\62734\afleveringer\\Gruppe_XY_opg4\Nyopgave4\Gruppe_XY_opg4.c    112    1    Gruppe_XY_opg4

Warning    1    implicit declaration of function 'sei' [-Wimplicit-function-declaration]    C:\data\62734\afleveringer\Nyopgave4\Gruppe_XY_opg4.c    82    2    Gruppe_XY_opg4

\Gruppe_XY_opg4\Nyopgave4\Gruppe_XY_opg4.c    93    3    Gruppe_XY_opg4
Message    8    previous definition of 'ISR' was here    C:\data\62734\afleveringer\david&Co

\Nyopgave4\Gruppe_XY_opg4.c    99    1    Gruppe_XY_opg4
Error    7    redefinition of 'ISR'    C:\data\62734\Gruppe_XY_opg4

Gruppe_XY_opg4.c    103    1    Gruppe_XY_opg4
Warning    4    return type defaults to 'int' [enabled by default]    C:\data\62734\afleveringer

\Gruppe_XY_opg4.c    99    1    Gruppe_XY_opg4
Warning    6    return type defaults to 'int' [enabled by default]    C:\data\62734\afleveringer

\Nyopgave4\Gruppe_XY_opg4.c    103    1    Gruppe_XY_opg4
Warning    5    type of '__vector_17' defaults to 'int' [enabled by default]    C:\data\62734\afleveringer

Nyopgave4\Gruppe_XY_opg4.c    99    1    Gruppe_XY_opg4
Warning    9    type of '__vector_25' defaults to 'int' [enabled by default]    C:\data\62734\afleveringerNyopgave4\Gruppe_XY_opg4.c    103    1    Gruppe_XY_opg4

volatile benytes kun foran char variable

Message    2    expected 'char *' but argument is of type 'volatile char *'    C:\data\62734\afleveringer\david&Co\Gruppe_XY_opg4\Gruppe_XY_opg4\Nyopgave4\UART.h    21    13    Gruppe_XY_opg4
Warning    1    passing argument 1 of 'putchUSART0' discards 'volatile' qualifier from pointer target type [enabled by default]    C:\data\62734\afleveringer\david&Co\Gruppe_XY_opg4\Gruppe_XY_opg4\Nyopgave4\Gruppe_XY_opg4.c    93    3    Gruppe_XY_opg4

Warning skyldes:

der må kun benyttes volatile for an delte char variable så compileren placerer dem i data-hukommelsen - en array og en pointer af typen char er automatisk større en 8 bit og vil derfor altid blive allokeret til data-hukommelsen

søndag den 8. november 2015

disse warnings kan fjernes

Warning    4    array subscript has type 'char' [-Wchar-subscripts]    C:\data\62734\afleveringer\anton&co\opgave 4 - gruppe hånd\timerprojektmeduart\timerprojektmeduart\uart.c    89    2    timerprojektmeduart
index til arrays skal være intergers for at undgå denne
 
Warning    5    array subscript has type 'char' [-Wchar-subscripts]    C:\data\62734\afleveringer\anton&co\opgave 4 - gruppe hånd\timerprojektmeduart\timerprojektmeduart\uart.c    91    3    timerprojektmeduart



som ovenfor
 
Message    2    expected 'char *' but argument is of type 'volatile char *'    c:\program files (x86)\atmel\atmel toolchain\avr8 gcc\native\3.4.1061\avr8-gnu-toolchain\avr\include\stdio.h    669    12    timerprojektmeduart



Addresser - pointer skal ikke være volatile addresser er altid 16 bit så derfor vil de altid blive placeret i Ram
 
Warning    1    passing argument 1 of 'sprintf' discards 'volatile' qualifier from pointer target type [enabled by default]    C:\data\62734\afleveringer\anton&co\opgave 4 - gruppe hånd\timerprojektmeduart\timerprojektmeduart\timerprojektmeduart.c    116    5    timerprojektmeduart
Arrays vil altid blive placeret i Ram derfor ikke volatile 
 
Warning    3    unused variable 'timeOut' [-Wunused-variable]    C:\data\62734\afleveringer\anton&co\opgave 4 - gruppe hånd\timerprojektmeduart\timerprojektmeduart\timerprojektmeduart.c    46    10    timerprojektmeduart
Denne variable bruges ikke derfor skal den fjernes

onsdag den 28. oktober 2015

kode fejl i header filen=> store fejl i compileringen

Header filer problemer

hvis der initialiseres en delt variabel i header filen så fås denne warning:

/*
 * Timers.h
 *
 * Created: 23-10-2015 19:51:51
 *  Author: osch
 */ 


#ifndef TIMERS_H_
#define TIMERS_H_

extern void initTimer3(unsigned int compareValue);
volatile char secFlag=0;
extern void startTimer();
#endif /* TIMERS_H_ */

Message 2 previous definition of 'secFlag' was here C:\data\62734\megaprojects\opgave4_TimerOgURE_15\opgave4_TimerOgURE_15\Timers.h 13 15 opgave4_TimerOgURE_15

Error 1 redefinition of 'secFlag' C:\data\62734\megaprojects\opgave4_TimerOgURE_15\opgave4_TimerOgURE_15\opgave4_TimerOgURE_15.c 27 15 opgave4_TimerOgURE_15


og hvis man glemmer et semicollon i et statement i header filen
/*
 * Timers.h
 *
 * Created: 23-10-2015 19:51:51
 *  Author: osch
 */ 


#ifndef TIMERS_H_
#define TIMERS_H_

extern void initTimer3(unsigned int compareValue);
volatile char secFlag      //missing ;
extern void startTimer();
#endif /* TIMERS_H_ */

Error 1 expected '=', ',', ';', 'asm' or '__attribute__' before 'extern' C:\data\62734\megaprojects\opgave4_TimerOgURE_15\opgave4_TimerOgURE_15\Timers.h 14 1 opgave4_TimerOgURE_15
Warning 2 implicit declaration of function 'startTimer' [-Wimplicit-function-declaration] C:\data\62734\megaprojects\opgave4_TimerOgURE_15\opgave4_TimerOgURE_15\opgave4_TimerOgURE_15.c 60 4 opgave4_TimerOgURE_15