Dom > Vijesti > Sadržaj

Procesorski pogon izvršava naredbu,

Apr 26, 2019

5.12 CMD_DLSTART - pokreće novi popis prikaza

Kada motor ko-procesora izvrši ovu naredbu, on čeka dok se ne prikaže trenutni prikaz

popis se skenira, a zatim postavlja REG_CMD_DL na nulu

image

Primjeri

cmd_dlstart ();

...

cmd_dlswap ();


5.13 CMD_SWAP - zamjena trenutnog popisa prikaza

Kada motor ko-procesora izvrši ovu naredbu, zahtijeva zamjenu popisa prikaza

odmah nakon skeniranja trenutnog popisa prikaza. Unutarnje, procesorski procesor

implementira ovu naredbu pisanjem u REG_DLSWAP. Pogledajte REG_DLSWAP

Definicija.

Ova naredba ko-procesorskog motora neće generirati nikakvu naredbu popisa prikaza

prikaz memorije popisa RAM_DL.

Prototip C

void cmd_swap ();

image

Primjeri

nijedan


5.14 CMD_COLDSTART - postavite stanje motora ko-procesora na zadane vrijednosti

Ova naredba postavlja mehanizam ko-procesora za resetiranje zadanih stanja.

Prototip C

nevažeći cmd_coldstart ();

image

image


5.15 CMD_INTERRUPT - prekid prekidača INT_CMDFLAG

Kada motor ko-procesora izvrši ovu naredbu, on pokreće prekid

INT_CMDFLAG.

Prototip C

nevažeći cmd_interrupt (uint32_t ms);

parametri

ms

Odgoda prije prekidanja okidača, u milisekundama. Prekid je zajamčen

prije ovog kašnjenja. Ako je ms jednak nuli, prekida se odmah pali.

image

Primjeri

Za pokretanje prekida nakon dovršetka učitavanja JPEG-a:

cmd_loadimage ();

...

cmd_interrupt (0); // prethodna slika punjenja dovršena, okidač prekida

Za pokretanje prekida za 0,5 sekundi:

cmd_interrupt (500);


5.16 CMD_APPEND - dodavanje memorije za prikaz popisa

Dodaje blok memorije trenutnoj adresi memorije popisa prikaza gdje se pomak

je naveden u REG_CMD_DL.

Prototip C

void cmd_append (uint32_t ptr,

uint32_t num);

parametri

PTR

Početak naredbi izvora u glavnoj memoriji

num

Broj bajtova za kopiranje. To mora biti više od 4.

image

Opis

Nakon što je dodavanje završeno, mehanizam ko-procesora će povećati REG_CMD_DL za

num da biste bili sigurni da je popis prikaza u redu.

Primjeri

...

cmd_dlstart ();

cmd_append (0, 40); // kopirajte 10 naredbi s glavne memorijske adrese 0

Ctrl (PRIKAZ); // dovrši popis prikaza

cmd_swap ();


5.17 CMD_REGREAD - čitanje vrijednosti registra

Prototip C

void cmd_regread (uint32_t ptr,

uint32_t rezultat);

parametri

PTR

Adresa registra za čitanje

proizlaziti

Vrijednost registra koja se čita na adresi ptr. image

Primjeri

Da biste zabilježili točno vrijeme završetka naredbe:

uint16_t x = rd16 (REG_CMD_WRITE);

cmd_regread (REG_CLOCK, 0);

...

printf ("% 08x", rd32 (RAM_CMD + x + 8));


5.18 CMD_MEMWRITE - upisivanje bajtova u memoriju

Zapisuje sljedeće bajtove u FT800 memoriju. Ova se naredba može koristiti za postavljanje

registrirati vrijednosti ili ažurirati sadržaj memorije u određeno vrijeme.

Prototip C

void cmd_memwrite (uint32_t ptr,

uint32_t num);

parametri

PTR

Memorijska adresa koju treba napisati

num

Broj bajtova za upisivanje.

Opis

Bajt podataka treba odmah slijediti u međuspremniku naredbi. Ako je broj bajtova

nije višestruko od 4, tada se 1, 2 ili 3 bajta trebaju dodati kako bi se osigurao 4-bajt

poravnavanje sljedeće naredbe, ovi bajtovi za popunjavanje mogu imati bilo koju vrijednost.

dovršenje ove funkcije može se otkriti kada je vrijednost REG_CMD_READ jednaka

na REG_CMD_WRITE.

Oprez: ako koristite ovu naredbu, može se pokvariti memorija FT800 ako se koristi

nepropisno.

image

Primjeri

Za promjenu svjetline pozadinskog osvjetljenja na 64 (pola intenziteta) za određeni snimak zaslona:

...

cmd_swap (); // dovrši popis prikaza

cmd_dlstart (); // čekati do zamjene

cmd_memwrite (REG_PWM_DUTY, 4); // upis u PWM_DUTY registar

Ctrl (100);