[elektro] C18... csak megkérdem.

Skandar Graun sgraun at gmail.com
Mon Sep 29 00:12:44 CEST 2014


Na, közben kísérleteztem.
Újrahúztam a projectet a másikból és elindultam az elejéről.
Elsőre, változatlanul, lefordul.
Ha kiremelem a config beállítást a main.h elején, akkor is.
Ha ezekután átállítom a proci típusát 18f452-ről 18f4431-re, az első void
kifejezésre hibát jelez.
Bármilyen sorrendben includálom a .h filéket, az első void már syntax error.
3.47-es C18
Ilyenkor mivan?

2014. szeptember 28. 19:41 Skandar Graun írta, <sgraun at gmail.com>:

> Csak ebben a projectben van syntax error.
> Köszönöm az utalást a C könyvre, de jelenleg nem ez a problémám lényege,
> csak mellékes kérdés volt.
> Ugyanettől a fájltól a fordító a másik projectben nem akad ki.
> A "hibás" sor környezete:
>
> #define clrscr 1
>
> #define PARAM_SCLASS auto
> #define MEM_MODEL far  /* Change this to near for small memory model */
>
> /* OpenXLCD
>  * Configures I/O pins for external LCD
>  */
> void OpenXLCD(PARAM_SCLASS unsigned char);
>
> /* SetCGRamAddr
>  * Sets the character generator address
>  */
> void SetCGRamAddr(PARAM_SCLASS unsigned char);
>
> /* SetDDRamAddr
>  * Sets the display data address
>  */
> void SetDDRamAddr(PARAM_SCLASS unsigned char);
>
> /* BusyXLCD
>  * Returns the busy status of the LCD
>  */
> unsigned char BusyXLCD(void);
>
>
> Egyébként ez a microchip saját lcd kezelő rutinsora, nem a netről
> letöltött.
> Ha az "openXLCD" sort kiremelem, akkor a következő void kezdetű sorra ad
> hibát.
> És igen, large memory model-t használok.
>
> 2014. szeptember 28. 19:20 Ágó István írta, <ago.istvan at gmail.com>:
>
> Nézd meg, nincs-e valami láthatatlan karakter a fájlban, amitől esetleg
>> kiakad a fordító. Mindkét projektben syntax errort ad mostmár, vagy csak
>> egyikben? Töltsd fel az xlcd.h-t pastebin-re, hogy mi is megnézhessük.
>> Valahol előző sorban lehet a hiba egyébként szerintem. Akár ha ez az első
>> nem komment tartalom az xlcd.h fájlban, akkor abban a fájlban is lehet a
>> hiba, ahová includolod az xlcd.h fájlt
>>
>> Egyébként a header fájlban nem kötelező a paraméternek változónevet adni.
>> Elég csak a típus, hogy a fordító/linker tudja, milyen típust vár a
>> függvény. A .c fájlban kell csak a változónév, hogy tudd a függvény
>> törzsében használni.
>>
>> Skandar Graun <sgraun at gmail.com> ezt írta (2014. szeptember 28.,
>> vasárnap):
>>
>> > Sziasztok!
>> >
>> > Azért ilyenkor hülyét akarok kapni.
>> >
>> > Van egy project, 18f452 a proci.
>> > Tökéletesen fordul, írom, növekszik.
>> > Ez kommunikálna egy másik procival, ezért csináltam egy másik projectet.
>> > Ez 18F4431-es proci.
>> > A panelok ugyanazok, végülis a kommunikációt kezdeném tesztelni.
>> > Soros komm, LCD-re kiíratás.
>> >
>> > Gondoltam, a meglevő project forrásfájlaiból el tudok indulni,
>> módosítva a
>> > procinak megfelelő dolgokat, aztán majd ez is fejlődni kezd.
>> > De:
>> > Az xlcd.h filében syntax errort adott a fordító, mégpedig a következő
>> > sorra:
>> >
>> > void OpenXLCD(PARAM_SCLASS unsigned char);
>> >
>> > A param_sclass-ra a következő vonatkozik:
>> >
>> > #define PARAM_SCLASS auto
>> >
>> > Bár ezt a részt nem éppen értem (miért nem kell itt változónév és mit
>> takar
>> > az auto), de mivel az előző (és még egy jópár) projectben nem volt vele
>> > gondom, nem foglalkoztam vele.
>> > Az előző projectben teljesen jól fordult, itt syntax error...
>> > Ami érdekes, próbáltam átírni a param_sclass-t auto-ra, adtam neki sima
>> > deklarációt is.
>> >
>> > void OpenXLCD(unsigned char lcdtype);
>> >
>> > Az xlcd.c filében egyébként így van deklarálva.
>> >
>> > Mindenképp ugyanez volt a hiba.
>> > Ha kiremeltem ezt a sort, akkor a következő void kezdetű sora írt syntax
>> > errort.
>> >
>> > Világosítsatok fel, kérlek, mi a hiba!
>> >
>> > Köszi előre is.
>> > -----------------------------------------
>> >           elektro[-flame|-etc]
>> -----------------------------------------
>>           elektro[-flame|-etc]
>>
>
>


More information about the Elektro mailing list