cykl - x51 - optimalizace

Lukas Burda burdal1@feld.cvut.cz
Pátek Červen 18 19:48:20 CEST 2004


Dik, ja se prave chci naucit efektivne psat v C.



Friday, June 18, 2004, 8:31:44 AM, you wrote:

> Tak ako vravite: cyklus na test nuly a kompilator by mal dat instrukciu
> DJNZ,
> Namiesto pole[i] byva niekedy rychlejsie pouzti smerniky unsigned char idata
> p=&pole
>     a potom v cykle robit *p=vysledok; p++;
> Dalej na miesto konverzie (ADCDATAL >> 4) + (ADCDATAH << 4);
> skusit nieco ako (ADCDATAL & 0xF0 ) | (ADCDATAH & 0x0F); myslim tym
> nevymienanie horneho a dolneho "niblu" pocas konverzie ale urobit to az po
> skonceni vzorkovania. Pripadne to napisat v ASM.
> Roman


> ----- Original Message -----
> From: "Lukas Burda" <burdal1@feld.cvut.cz>
> To: "[HWnews]" <hw-list@mailman.nethouse.cz>
> Sent: Thursday, June 17, 2004 9:36 PM
> Subject: Re: cykl - x51 - optimalizace


> Prvni a jedimy rozumny krok co me napada je obratit to citani dolu ->
> test na nulu.



> Thursday, June 17, 2004, 9:16:47 PM, you wrote:

>> Zdravim,
>> potrebuji co nejrychleji nasazet data z A/D prevodniku do interni
>> pameti procesoru ADuC814 (idata buffer 180 bajtu). Muze mi nejaky
>> zkuseny C-ckar poradit jak by mely ubihat moje myslenky pokud mam
>> nasledujci kod? (KeilC)

>> for (i = 0; i < VZORKU_CELKEM; i++){

>>     // cekani na konec prevodu
>>     while(!ADCI);
>>     ADCI = 0;

>>     // navic chci jen 8 bit vysledek
>>     pole[i] = (ADCDATAL >> 4) + (ADCDATAH << 4);
>> }

>> Jak to napsat aby to bylo co nejrychlejsi? Moje uvahy zatim nikam moc
>> nevedly. Je mi take jedno jakym smerem se to pole naplni.

>> Diky Lukas Burda





> ----------------------------------------------------------------------------
> ----


> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> HW-list@mailman.nethouse.cz
> http://nethouse.cz/mailman/listinfo/hw-list






Další informace o konferenci Hw-list