va_arg

Josef Štengl ok1ced na nagano.cz
Pondělí Červenec 25 13:47:38 CEST 2016


Uvažoval jsem jiné typické použití :-). Hodnoty přímo číslem posílám málokdy.

i2send(devsel, data, len);
i2cread(devsel, data, len);


To znamená, že data čtete / kopírujete do datového bufferu. Pak je jedno, jestli to je parametr nebo přiřazujete.

nebo lépe

i2send(struct);

Pár byte se dneska už oželí i na jednočipu (většinou, specialitky existují a budou existovat snad i v budoucnu :-) a mohu 
komunikovat s různými perifériemi.


Ono zřejmě záleží na stylu a účelu. Kdyby to šlo napsat ideálně,tak by tooly od výrobců asi nebyly tak ... podivné :-)

Dne 25.7.2016 v 12:53 Pavel Hudecek napsal(a):
> Typické použití:
> i2cSend(I2C_dacAdr, 1, 123);
>
> K čemu pro 1 číslo pole?
>
> PH
>
> -----Původní zpráva----- From: Josef Štengl
> Nepraktické v čem? Když ukládáte to do pole, takže stejně by byl použit pointer a je jedno jestli ho předám funkci v
> registru nebo registr zkopíruji na adresu.
>
> Jedině nutnost použit extra argumentu pro pole. Ale téměř vše je lepší (snažší) než použít proměnnou velikost argumentu u
> funkcí :-)
>
>
> Dne 23.7.2016 v 12:42 Pavel Hudecek napsal(a):
>> Protože typické použití je, že se posílá 1 nebo 2 bajty a s polem by to bylo nepraktické, ale občas možná bude potřeba
>> poslat pole.
>>
>> sd[index++]:
>> A nebude vadit, když bych pak ve druhém případě sd změnil na pole jinde?
>>
>> PH
>>
>> -----Původní zpráva----- From: Jaroslav Buchta
>> Bude to IMHO zbytecne narocne na zasobnik, to nemuzete ty bajty predat
>> jako ukazatel na pole a pocet prvku???
>> proc nepouzivate rovnou sd[index++] = ... v prvnim pripade ?
>> Pokud neni potreba setrit pameti, tak bych rekl OK.
>
> _______________________________________________
> 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