LPC11U68 + C rychlost portu

Josef Štengl ok1ced na nagano.cz
Úterý Červenec 26 15:48:41 CEST 2016


Testujete to, doufám, oproti původní verzi na optimalizaci alespoň -O3? Protože jinak děláte práci za stroj :-)


Dne 26.7.2016 v 14:58 Pavel Hudecek napsal(a):
> Bingo:-)
>
> 32 ms.
>
> PH
>
> -----Původní zpráva----- From: Jan Waclawek
>
> #include <stdint.h>
> const struct {
>   uint8_t a;
>   uint32_t dat[];
> } fnt = {.dat = {1, 2, 3, 4, 5}};
>
> void ili_wrI16(void);
> void ili_wrP16(void);
>
> volatile uint8_t znak, r, wid;
>
> int main(void) {
>
> for(uint8_t*p8=(uint8_t*)(fnt.dat+znak+r),x=wid,b=1;x--;(b+=b)?0:(p8++,b=1))
> {
>     *p8&b?ili_wrI16():ili_wrP16();
>   }
> }
>
>
>> -----Původní zpráva----- From: Jaromir Sukuba
>> Nemate tam nejako zbytocne vela zatvoriek? ;-)
>>
>> http://list.hw.cz/pipermail/hw-list/2016-July/490808.html
>>
>> Dňa 26. júla 2016, 12:21, Pavel Hudecek <edizon na seznam.cz> napísal/a:
>>>
>>> p8 =(uint8_t *)  &(fnt.dat[znak+r]);
>>> for (x=0, b=0; x<wid; x++) {
>>>    if (p8[b] & (1<<(x&7))) ili_wrI16(); else ili_wrP16();
>>>    if ((x&7)==7) b++; // dalsi byte
>>> }
>
> _______________________________________________
> 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