Dom > Novice > Vsebine

Motor procesorja izvede ukaz,

Apr 26, 2019

5.12 CMD_DLSTART - zaženite nov prikazni seznam

Ko stroj soprocesorja izvede ta ukaz, počaka do trenutnega prikaza

Seznam se skenira, nato nastavi REG_CMD_DL na nič

image

Primeri

cmd_dlstart ();

...

cmd_dlswap ();


5.13 CMD_SWAP - zamenjajte trenutno prikazani seznam

Ko stroj soprocesorja izvede ta ukaz, zahteva zamenjavo seznama prikazov

takoj po skeniranju trenutnega seznama prikazov. Notranji motor soprocesorja

ta ukaz izvede s pisanjem v REG_DLSWAP. Oglejte si REG_DLSWAP

Opredelitev.

Ta ukaz za pogon soprocesorja ne bo ustvaril nobenega ukaza seznama prikazov

prikaz pomnilnika seznama RAM_DL.

Prototip C

void cmd_swap ();

image

Primeri

Jih ni


5.14 CMD_COLDSTART - nastavite stanje procesorja soprocesorja na privzete vrednosti

Ta ukaz nastavi mehanizem koprocesorja za ponastavitev privzetih stanj.

Prototip C

void cmd_coldstart ();

image

image


5.15 CMD_INTERRUPT - prekinitev preklopa INT_CMDFLAG

Ko stroj soprocesorja izvede ta ukaz, sproži prekinitev

INT_CMDFLAG.

Prototip C

void cmd_interrupt (uint32_t ms);

Parametri

gospa

Zamik pred prekinitvijo sprožilcev v milisekundah. Prekinitev je zagotovljena

pred to zamudo. Če je ms nič, prekinemo prekinitev.

image

Primeri

Za sprožitev prekinitve po nalaganju JPEG-a:

cmd_loadimage ();

...

cmd_interrupt (0); // prejšnja slika obremenitve je dokončana, sproži prekinitev

Za sprožitev prekinitve v 0,5 sekundah:

cmd_interrupt (500);


5.16 CMD_APPEND - dodajte pomnilnik za prikaz seznama

Doda blok pomnilnika trenutnemu naslovu pomnilnika prikaznega seznama, kjer je odmik

je podan v REG_CMD_DL.

Prototip C

void cmd_append (uint32_t ptr,

uint32_t num);

Parametri

ptr

Zagon izvornih ukazov v glavnem pomnilniku

num

Število bajtov za kopiranje. To mora biti večkratnik 4.

image

Opis

Ko je dodajanje končano, bo mehanizem soprocesorja povečal REG_CMD_DL za

num, da preverite, ali je seznam prikazov v redu.

Primeri

...

cmd_dlstart ();

cmd_append (0, 40); // prekopira 10 ukazov iz glavnega pomnilniškega naslova 0

cmd (DISPLAY); // dokončajo prikaz seznama

cmd_swap ();


5.17 CMD_REGREAD - branje vrednosti registra

Prototip C

void cmd_regread (uint32_t ptr,

uint32_t rezultat);

Parametri

ptr

Naslov registra za branje

rezultat

Vrednost registra, ki se odčita na naslovu ptr. image

Primeri

Če želite zajeti točen čas, ko se ukaz konča:

uint16_t x = rd16 (REG_CMD_WRITE);

cmd_regread (REG_CLOCK, 0);

...

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


5.18 CMD_MEMWRITE - zapisovanje bajtov v pomnilnik

V pomnilnik FT800 zapiše naslednje bajtove. Ta ukaz se lahko uporabi za nastavitev

registrirate vrednosti ali posodobite vsebino pomnilnika ob določenem času.

Prototip C

void cmd_memwrite (uint32_t ptr,

uint32_t num);

Parametri

Ptr

Naslov pomnilnika, ki ga želite zapisati

num

Število bajtov, ki jih želite zapisati.

Opis

Podatkovni bajt mora takoj slediti v ukaznem medpomnilniku. Če je število bajtov

ni večkratnik 4, potem je treba dodati 1, 2 ali 3 bajtov, da se zagotovi 4-bajtni

poravnava naslednjega ukaza, ti bajtni podstavki imajo lahko katerokoli vrednost. The

dokončanje te funkcije je mogoče zaznati, ko je vrednost REG_CMD_READ enaka

na REG_CMD_WRITE.

Pozor: če uporabljate ta ukaz, lahko poškodujete pomnilnik FT800, če ga uporabljate

nepravilno.

image

Primeri

Če želite spremeniti svetlost osvetlitve na 64 (polovična intenzivnost) za določen posnetek zaslona:

...

cmd_swap (); // dokončajo prikaz seznama

cmd_dlstart (); // počakajte do zamenjave

cmd_memwrite (REG_PWM_DUTY, 4); // pisanje v register PWM_DUTY

cmd (100);