[elektro] megint C
potyo
potyo.ada at gmail.com
Tue Dec 4 10:39:57 CET 2012
Én vagy így írnám:
(kiki&&1)?(SDO=0):(SDO=1);
Vagy inkább így:
SDO=kiki&&1?0:1;
Nem néztem utána, de szerintem valamit nem olyan sorrendben értékel ki a
fordító, ahogy te gondolod. Ha az előbbi zárójelezéssel megjavul, akkor ez
volt a probléma. De az utóbbi valahogy nekem szebb
2012. december 4. 10:34 Skandar Graun írta, <sgraun at gmail.com>:
> Sziasztok!
>
> Ad egy olyan hibaüzenetet a C30, amit nem találok a helplistában.
> És egyszerűen nem jövök rá, mi a baj.
> de nemcsak én, egy programozó haverom sem érti, csak ő ennek kapcsán most
> telepíti a C30-at... :D
>
> A kódrészlet (már kicsit túlbonyolítva, mert küzdök.
>
> void DataOut(BYTE kimegy)
> {
> int nCount = 8;
> char kiki;
> SCLK = 0;
> kiki = kimegy;
> while(nCount--)
> {
> (kiki && 1) ? SDO = 0 : SDO = 1;
> SCLK = 1;
> kiki = (kiki >> 1);
> SCLK = 0;
>
> }
>
> A hibás sor: (kiki && 1) ? SDO = 0 : SDO = 1;
>
> A hozzátartozó .h rész:
> void DataOut(BYTE kimegy);
>
>
>
> #define SDO LATBbits.LATB1
> #define SDI PORTBbits.RB0
> #define SCLK LATDbits.LATD8
> #define SCEN LATEbits.LATE9
>
>
> A hibaüzenet:
>
> Include\w25q128.c:504: error: invalid lvalue in assignment
>
> De a net sem nagyon ad tanácsot, azt mondják, hogy baloldalon akarok
> értéket adni... ez az, amit nem értek.
> -----------------------------------------
> elektro[-flame|-etc]
>
More information about the Elektro
mailing list