LPC11U68 + C rychlost portu

Pavel Hudecek edizon na seznam.cz
Úterý Červenec 26 14:58:58 CEST 2016


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
>> } 



Další informace o konferenci Hw-list