[elektro] C18 segítség

hg12345 hg12345 at freemail.hu
Wed Dec 7 18:08:46 CET 2016


A következőt még meg lehet próbálni

proba((union_proba) {.byte=0x012});       ezt egy rendes C fordító megeszi....

több ötletem nincs, local változóval lefodul mármint a hívásba local változót teszel bele, ill megfelelő változóra mutató pointertrel lefordul.

Régen használtam a C18 fordított, (szerencsére már nem kell) de nagyon sok mindent nem fordított le, nagyon szükek a lehetőségek benne, elvileg kicsit lehet bővíteni a lehetőségeket, ha engedélyezed a indexelt pointer regiszterek használatát. (de ehhez régen licens kód kellett)



"Balla Zoltán" <sdrlab at yandex.ru> írta:
>2016.12.07. 13:56 keltezéssel, fi F írta:
>> A cast-olva is hibásnak veszi.
>>
>> A fenti megoldás működik(az erteket egy union valtozoba) , de akkor
>> felesleges függvényben átadni, "global" változót fogok használni.
>> Igy még szerintem gyorsabb és rövidebb is a fordított kód, de nem szép.
>>
>> De ha valaki tudja az eredeti problémára a megoldást, az érdekelne.
>>
>>>>>
>>>>>
>>>>> typedef union _union_proba
>>>>>
>>>>> {
>>>>>
>>>>>                unsigned char byte;
>>>>>
>>>>>                struct
>>>>>
>>>>>                {
>>>>>
>>>>>                               unsigned char size:2;
>>>>>
>>>>>                               unsigned char akarmi:5;
>>>>>
>>>>>                };
>>>>>
>>>>> }union_proba;
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> void proba(union_proba yyy)
>>>>>
>>>>> {
>>>>>
>>>>>                unsigned char x;
>>>>>
>>>>>                x = yyy.byte;
>>>>>
>>>>>
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> { // a függvény hívás
>>>>>
>>>>>
>>>>>
>>>>>                proba(0x12);
>>>>>
>>>>> !!!! Error [1146] type mismatch in argument 1 !!!!!
>>>>>
>>>>>
>
>Hol van a kapcsolat a 0x12 és az union címe között ? A függvény ott egy 
>union_proba típusú változót vár, nem egy tetszőleges számot. Én már ott 
>elvesztettem a fonalat, hogy mi lenne a koncepciód ezzel ?
>
>Zoli
>
>-----------------------------------------
>          elektro[-flame|-etc]



More information about the Elektro mailing list