LPC11U68 + C rychlost portu

Jan Waclawek konfera na efton.sk
Úterý Červenec 26 15:19:42 CEST 2016


No a je problem ho zarovnat?

wek


----- Original Message ---------------
>Musí:
>HardFault
>
>PH
>
>-----Původní zpráva----- 
>From: Jan Waclawek
>Smarja...
>
>Ale ked uz hrame tuto hru,
>for(unsigned*p8=(unsigned*)(fnt.dat+znak+r),x=wid,b=1;x--;(b+=b)?0:(p8++,b=1))
>*p8&b?ili_wrI16():ili_wrP16();
>
>by snad malo byt lepsie.
>
>Ale nieco sa mi mari, ze u M0+ to pole musi byt zarovnane, ci?
>
>wek
>
>
>----- Original Message ---------------
>>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 at 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
>>>> } 



Další informace o konferenci Hw-list