[elektro] megint C

Nemka nemka at nemka.hu
Tue Dec 4 11:09:29 CET 2012


SDO = ( kiki & 1 ) ? 0 : 1;

Ha &&-t használsz, az nem bitművelet.
&& esetén a kiki mindig TRUE, ha nem 0, egyébként FALSE.
Az 1 pedig mindig TRUE.

Nemka
--->    http://www.nemka.hu    <---


> 2012.12.04. 11:06 Skandar Graun:
> 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