Rychla otazka na C -> kviz
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Úterý Leden 24 15:12:19 CET 2017
Kdyz uz jsme u toho, dovolim si vyhlasit soutez, jak nejlepe to
predelat. void* jako parametr funkce je samozrejme zadouci, abych ji
mohl volat na cokoli.
Je to odesilani binarnich dat po kouscich pres buffer a DMA
void DbgSendBin (void *buf, int len)
{
while (len != 0)
{
DbgFlushOs();
EnterCritical();
int n = TXBUFLENGTH - posWTx;
if (posRTx == 0) n--;
if (n != 0)
{
if (n > len) n = len;
memcpy ((void *)(bufTx+posWTx), buf, n);
posWTx += n;
if (posWTx >= TXBUFLENGTH) posWTx = 0;
DbgStartTx();
buf += n; //!!!!! tady je FUJ ale funguje to
len -= n;
}
ExitCritical();
}
}
Dne 24.01.2017 v 15:05 Jaroslav Buchta napsal(a):
> Tusil jsem, ze je to fuj, ale nehodi to ani warning a pocita to po
> bytech...
> Tak to upravim, no ;-)
>
> Dne 24.01.2017 v 12:28 Martin Persich napsal(a):
>> Nevím sice co na to přesně říká norma, ale podle mého je to nesmysl.
>> Nevím, co bych od toho měl čekat. Přičtění "jedničky" vždy znamená
>> posun na další prvek daného typu a tady to není známo...
>> Martin. persich na transcon.cz
>>
>> ----- Original Message ----- From: "Jaroslav Buchta"
>> <jaroslav.buchta na hascomp.cz>
>> To: "HW-news" <hw-list na list.hw.cz>
>> Sent: Tuesday, January 24, 2017 11:55 AM
>> Subject: Rychla otazka na C
>>
>>
>> Nechce se mi to hledat a jeste jsem to nepouzil:
>>
>> Je korektni pricist integer hodnotu k ukazateli na void? V GCC to
>> funguje, ale mam pochybnosti...
>>
>> void *p = &buffer[0];
>>
>> ....
>>
>> p += 10;
>>
>>
>>
>> _______________________________________________
>> HW-list mailing list - sponsored by www.HW.cz
>> Hw-list na list.hw.cz
>> http://list.hw.cz/mailman/listinfo/hw-list
>
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list