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