08-31-2014, 10:34 PM
Da li neko moze da mi malo pomogne?
znam da je ovaj program mogao da se napise prostije,ali ja sam hteo malo da vezbam sa pozivanjem FUNKCIJA.Postavi cu deo CODE sa funkcijama bez pocetnog dela gde su #define,#pragma i sl.
ovako napisan CODE radi
void funk_d(void){
while(1){
led_d = 1;
//KAKO SE NPR. ODAVDE VRATITI U MAIN FUNKCIJU
}
}
void funk_c(void){
while(1){
led_c = 1;
if(tst_d == 0){led_c = 0;funk_d();}
}
}
void funk_b(void){
while(1){
led_b = 1;
if(tst_c == 0){led_b = 0;funk_c();}
}
}
void funk_a(void){
while(1){
led_a = 1;
if(tst_b == 0){led_a = 0;funk_b();}
}
}
void main(void) {
//Opsta konfiguracija
CMCON = 7; //iskljuci komparator
TRISB = 0b00001111; //Konfiguracija za Port B
PORTB = 0;
while(1){
if(tst_a == 0) funk_a();
}
}
sta je problem:
ako pozovem npr. neku funkciju koja je fizicki ispod FUNKCIJE iz koje pozivam
PRIMER:
void funk_c(void){
while(1){
led_c = 1;
if(tst_d == 0){led_c = 0;funk_b();} //funk_b je fizicki napisana
} //ispod ove
}
u kompajliranju dobijem greske tipa:
main.c:52: warning: (361) function declared implicit int
main.c
error: (984) type redeclared
main.c
error: (1098) conflicting declarations for variable "funk_a" (main.c:57)
nadam se da sam objasnio problem pa ako moze neka pomoc kako se to resava posto sam pocetnik u C.
koristim
MPLABX
XC8
znam da je ovaj program mogao da se napise prostije,ali ja sam hteo malo da vezbam sa pozivanjem FUNKCIJA.Postavi cu deo CODE sa funkcijama bez pocetnog dela gde su #define,#pragma i sl.
ovako napisan CODE radi
void funk_d(void){
while(1){
led_d = 1;
//KAKO SE NPR. ODAVDE VRATITI U MAIN FUNKCIJU
}
}
void funk_c(void){
while(1){
led_c = 1;
if(tst_d == 0){led_c = 0;funk_d();}
}
}
void funk_b(void){
while(1){
led_b = 1;
if(tst_c == 0){led_b = 0;funk_c();}
}
}
void funk_a(void){
while(1){
led_a = 1;
if(tst_b == 0){led_a = 0;funk_b();}
}
}
void main(void) {
//Opsta konfiguracija
CMCON = 7; //iskljuci komparator
TRISB = 0b00001111; //Konfiguracija za Port B
PORTB = 0;
while(1){
if(tst_a == 0) funk_a();
}
}
sta je problem:
ako pozovem npr. neku funkciju koja je fizicki ispod FUNKCIJE iz koje pozivam
PRIMER:
void funk_c(void){
while(1){
led_c = 1;
if(tst_d == 0){led_c = 0;funk_b();} //funk_b je fizicki napisana
} //ispod ove
}
u kompajliranju dobijem greske tipa:
main.c:52: warning: (361) function declared implicit int
main.c

main.c

nadam se da sam objasnio problem pa ako moze neka pomoc kako se to resava posto sam pocetnik u C.
koristim
MPLABX
XC8