Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
pato90 Profesionalec
Pridružen/-a: Sre Apr 2007 20:10 Prispevkov: 58
|
Objavljeno: Ned Jan 27, 2008 9:03 pm Naslov sporočila: |
|
|
domenius je vrjetno mislil da daš za tiny26 .h |
|
Nazaj na vrh |
|
|
damo Profesionalec
Pridružen/-a: Čet Jul 2004 6:34 Prispevkov: 60
|
Objavljeno: Ned Jan 27, 2008 10:38 pm Naslov sporočila: |
|
|
probaj: sprintf(stanje,"%d",x); |
|
Nazaj na vrh |
|
|
Domenius Profesionalec
Pridružen/-a: Čet Feb 2005 15:58 Prispevkov: 75 Kraj: Trbovlje
|
Objavljeno: Ned Jan 27, 2008 11:01 pm Naslov sporočila: |
|
|
Aha če čarovnik postavi bi že moralo biti pravilno. Drugače pa sem mlislil tako kot je napisal pato90 - pa brez presledka med tiny26 in .h - očitno forum ne prebavi take pisave (če napišeš tiny26 in .h skupaj se .h zbriše), tako da predvidevam da imaš že od začetka napisano z .h. _________________ It's electric! |
|
Nazaj na vrh |
|
|
sandi Profesionalec
Pridružen/-a: Pet Nov 2006 20:36 Prispevkov: 55
|
Objavljeno: Tor Jan 29, 2008 9:22 pm Naslov sporočila: |
|
|
Je pravilno postavljeno v programu #include <tiny26> (ukaz kopiran iz programa).
Damo tudi to sem poskusil pa vedno napiše undefined symbol `sprintf`.
Nekaj sem poskušal okrog spremenljivk "stanje" in "x" morda bi moralo biti kaj drugače postavljeno?
Danes sem iskal po spletu programe in v njih gledal kako so postavljeni ukazi, bom jutri nadaljeval. _________________ vsak začetek je težak-hvala za pomoč! |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Tor Jan 29, 2008 10:51 pm Naslov sporočila: |
|
|
sandi je napisal/a: | Damo tudi to sem poskusil pa vedno napiše undefined symbol `sprintf`. |
Kaj ko bi nehal poskusati nakljucne stvari in bi (recimo) vkljucil header (stdio.h ? preberi dokumentacijo, ponavadi se nahaja tam, a CodeVisionAVR ne poznam), kjer je sprintf() deklariran ?
Opozorilo prevajalnika pomeni, da ne ve kaj bi s tvojim ukazom (sprintf()) sploh pocel, ker ga ne pozna. Ne pozna ga zato, ker ni nikjer deklariran. Ce zelis, da ga bo prevajalnik poznal, mora biti vkljucena njegova deklaracija v kodo (#include). Nakljucno ugibanje in spreminjanje stvari, ki nimajo veze, ne bo nikoli resilo nicesar, saj ravno zato prevajalnik tisto opozorilo izpise, da ni potrebno ugibati kaj vse je se mozno spremeniti. |
|
Nazaj na vrh |
|
|
damo Profesionalec
Pridružen/-a: Čet Jul 2004 6:34 Prispevkov: 60
|
Objavljeno: Sre Jan 30, 2008 11:09 am Naslov sporočila: |
|
|
Ja, Gustav prav imaš, jaz niti nisem pomislil na to, ker imam že v vsakem programu vključen stdio.h |
|
Nazaj na vrh |
|
|
sandi Profesionalec
Pridružen/-a: Pet Nov 2006 20:36 Prispevkov: 55
|
Objavljeno: Sre Jan 30, 2008 9:02 pm Naslov sporočila: |
|
|
Dodal sem #include <stdio> sedaj mi javlja drugo napako (parameter #1 of type `unsigned char' is incompatibile with type `unsigned char' specifed in the function 'sprintf ' declaration ( spremenljivki stanje sem spremenil tip unsigned char).
Po helpu je vse ok. Morda ne razumem dobro opisa ukazov. Izgleda, da bom moral pustit projekt števca inpulzov z lcd, ker mi ne uspe izsilit ispisa na lcd-ju. _________________ vsak začetek je težak-hvala za pomoč! |
|
Nazaj na vrh |
|
|
Gustav Profesionalec
Pridružen/-a: Pon Jun 2005 17:19 Prispevkov: 768
|
Objavljeno: Sre Jan 30, 2008 10:48 pm Naslov sporočila: |
|
|
Objavi kodo relevantno !
Po sporocilu sodec je prevajalnik zbircen pri podanih parametrih, torej ali spremeni tip spremenljivke stanje, ali pa daj sprintf() drugacen niz za oblikovanje. Preberi help za funkcijo printf(), sprintf() ima identicen niz za oblikovanje ! |
|
Nazaj na vrh |
|
|
sandi Profesionalec
Pridružen/-a: Pet Nov 2006 20:36 Prispevkov: 55
|
Objavljeno: Sre Feb 06, 2008 7:26 pm Naslov sporočila: |
|
|
Sedaj sem rešil vendar v tem primiru koda tako velika, da evaluation verzija ne prevede. To bom sam rešil z vlečni živali (muli).
Spremenil sem:
unsigned stanje[30];/*dodal število elementov [30]/*
sprintf(stanje,"%d",x);/*spremenil obliko zapisa iz stanje= sprintf("%d",x); v sprintf(stanje,"%d",x);/*
lcd_puts(stanje); /*namesto lcd_string sem uporabil lcd_puts/*
Pregledal sem skoraj cel help, malo prekopiral in deluje. _________________ vsak začetek je težak-hvala za pomoč! |
|
Nazaj na vrh |
|
|
|