Bosh sahifa > Yangiliklar > Kontent

Protsessor dvigatellari komandani bajaradi,

Apr 26, 2019

5.12 CMD_DLSTART - yangi ko'rish ro'yxatini ishga tushirish

Co-protsessor dvigatellari ushbu buyruqni bajarganda, u joriy tasvirni kutadi

ro'yxatdan taranadi, keyin REG_CMD_DLni nolga qo'yadi

image

Misollar

cmd_dlstart ();

...

cmd_dlswap ();


5.13 CMD_SWAP - joriy ko'rish ro'yxatini almashtirish

Co-protsessor dvigatellari bu buyruqni bajarganda, ekran ro'yxatini almashtirishni talab qiladi

Joriy ekran ro'yxatidan skanerdan so'ng darhol Ichki sifatida, ko-protsessorli dvigatel

REG_DLSWAPga yozish orqali ushbu buyruqni bajaradi. REG_DLSWAP ga qarang

Ta'rif.

Ushbu ko-protsessor vosita buyrug'i hech qanday ekran ro'yxati buyrug'ini yaratmaydi

RAM_DL ro'yxatini ko'rsatadi.

C prototipi

void cmd_swap ();

image

Misollar

Yo'q


5.14 CMD_COLDSTART - umumiy protsessor dvigatelning holatini standart qiymatlarga o'rnating

Ushbu buyruq buyruqlar holatini tiklash uchun ko-protsessor mexanizmini o'rnatadi.

C prototipi

void cmd_coldstart ();

image

image


5.15 CMD_INTERRUPT - INT_CMDFLAGni ishga tushirishni to'xtatish

Co-protsessor dvigatellari bu buyruqni bajarganda interruptni ishga tushiradi

INT_CMDFLAG.

C prototipi

void cmd_interrupt (uint32_t ms);

Parametrlar

Xonim

Chaqiruvdan oldin kechiktirish, milisaniyalikda tugaydi. To'xtatish kafolatlanadi

Bu kechikishdan oldin olovni yoqmang. Agar milodiy nol bo'lsa, uzilish darhol o'chadi.

image

Misollar

JPEG faylini yuklashni tugatgandan so'ng interruptni ishga tushirish uchun:

cmd_loadimage ();

...

cmd_interrupt (0); // oldingi yuk rasmini to'ldirish, tirnalishni to'xtatish

0,5 soniyada to'xtatish uchun:

cmd_interrupt (500);


5.16 CMD_APPEND - ro'yxatni ko'rsatish uchun xotirani qo'shing

Xotirani blokirovka qilib turgan joriy ekran ro'yxatiga xotira manziliga qo'shib qo'yadi

REG_CMD_DL da ko'rsatilgan.

C prototipi

void cmd_append (uint32_t ptr,

uint32_t raqam);

Parametrlar

ptr

Asosiy xotiradagi manba buyruqlar boshlash

son

Nusxalanadigan baytlarning soni. Bu 4dan ko'p bo'lishi kerak.

image

Ta'rif

Qo'shish jarayoni tugagandan so'ng, qo'shma protsessor dvigatellari REG_CMD_DL-ni oshiradi

Ko'rsatkichlar ro'yxati tartibida ekanligiga ishonch hosil qilish uchun

Misollar

...

cmd_dlstart ();

cmd_append (0, 40); // asosiy xotira manzili 0 dan 10 ta buyruqni nusxalash

cmd (DISPLAY); // displey ro'yxatini tugatish

cmd_swap ();


5.17 CMD_REGREAD - ro'yxatga olish qiymatini o'qish

C prototipi

void cmd_regread (uint32_t ptr,

uint32_t natijasi);

Parametrlar

ptr

O'qish uchun ro'yxatning manzili

natijalar

Ptr manzili bo'yicha o'qiladigan ro'yxatga olish qiymati. image

Misollar

Buyruq tugallangach aniq vaqtni olish uchun:

uint16_t x = rd16 (REG_CMD_WRITE);

cmd_regread (REG_CLOCK, 0);

...

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


5.18 CMD_MEMWRITE - baytlarni xotiraga yozing

FT800 xotirasida quyidagi baytlarni yozadi. Ushbu buyruq o'rnatish uchun ishlatilishi mumkin

ro'yxatga olish qiymatlari yoki muayyan vaqtlarda xotira tarkiblarini yangilash uchun.

C prototipi

void cmd_memwrite (uint32_t ptr,

uint32_t raqam);

Parametrlar

Ptr

Yoziladigan xotira manzili

son

Yoziladigan baytlarning soni.

Ta'rif

Ma'lumot baytlari darhol buyruq buferi ichida bo'lishi kerak. Agar bayt soni

4 bayt emas, undan keyin 4 baytni ta'minlash uchun 1, 2 yoki 3 bayt qo'shiladi

keyingi buyruqning hizalanmasından, bu to'ldirish baytlari biron bir qiymatga ega bo'lishi mumkin. The

Bu funktsiyaning bajarilishi REG_CMD_READ qiymatining teng bo'lganda aniqlanishi mumkin

REG_CMD_WRITE uchun.

E'tibor bering: agar bu buyruqdan foydalansangiz, FT800 xotirasini ishlatgan holda buzishi mumkin

noto'g'ri.

image

Misollar

Orqa nuri yoritishni ma'lum bir ekran tasvirini uchun 64 (yarim zichlik) darajasiga o'zgartirish uchun:

...

cmd_swap (); // displey ro'yxatini tugatish

cmd_dlstart (); // almashtirishdan keyin kuting

cmd_memwrite (REG_PWM_DUTY, 4); // PWM_DUTY registrga yozing

cmd (100);