320x240 grafikus LCD
ili9320 as forumban találtam:
Sub Lcd_init()
'************* Reset LCD Driver ****************//
Cs = 0
Res = 1
Waitms 1 'wait 1ms
Res = 0
Waitms 10 'wait 10ms / / This Delay Time Is Necessary
Res = 1
Waitms 50 'wait 50 ms
'************* Start Initial Sequence **********//
Call Lcd_write_reg(&He3 , &H3008) ' Set internal timing
Call Lcd_write_reg(&He7 , &H0012) ' Set internal timing
Call Lcd_write_reg(&Hef , &H1231) ' Set internal timing
Call Lcd_write_reg(&H01 , &H0100) ' set SS and SM bit
Call Lcd_write_reg(&H02 , &H0700) ' set 1 line inversion
Call Lcd_write_reg(&H03 , &H0000) ' set GRAM write direction and BGR=1.'1030
Call Lcd_write_reg(&H04 , &H0000) ' Resize register
Call Lcd_write_reg(&H08 , &H0207) ' set the back porch and front porch
Call Lcd_write_reg(&H09 , &H0000) ' set non-display area refresh cycle ISC[3:0]
Call Lcd_write_reg(&H0a , &H0000) ' FMARK function
Call Lcd_write_reg(&H0c , &H0000) ' RGB interface setting
Call Lcd_write_reg(&H0d , &H0000) ' Frame marker Position
Call Lcd_write_reg(&H0f , &H0000) ' RGB interface polarity
'*************Power On sequence ****************//
Call Lcd_write_reg(&H10 , &H0000) ' SAP, BT[3:0], AP, DSTB, SLP, STB
Call Lcd_write_reg(&H11 , &H0007) ' DC1[2:0], DC0[2:0], VC[2:0]
Call Lcd_write_reg(&H12 , &H0000) ' VREG1OUT voltage
Call Lcd_write_reg(&H13 , &H0000) ' VDV[4:0] for VCOM amplitude
Waitms 200 'Dis-charge capacitor power voltage
Call Lcd_write_reg(&H10 , &H1490) ' SAP, BT[3:0], AP, DSTB, SLP, STB
Call Lcd_write_reg(&H11 , &H0227) ' DC1[2:0], DC0[2:0], VC[2:0]
Waitms 50 'wait 50ms
Call Lcd_write_reg(&H12 , &H001C) ' Internal reference voltage= Vci;
Waitms 50 'wait 50ms
Call Lcd_write_reg(&H13 , &H1A00) ' Set VDV[4:0] for VCOM amplitude
Call Lcd_write_reg(&H29 , &H0025) ' Set VCM[5:0] for VCOMH
Call Lcd_write_reg(&H2b , &H000C) ' Set Frame Rate
Waitms 50 'wait 50ms
Call Lcd_write_reg(&H20 , &H0000) ' GRAM horizontal Address
Call Lcd_write_reg(&H21 , &H0000) ' GRAM Vertical Address
'----------- Adjust the Gamma Curve ----------//
Call Lcd_write_reg(&H30 , &H0000)
Call Lcd_write_reg(&H31 , &H0506)
Call Lcd_write_reg(&H32 , &H0104)
Call Lcd_write_reg(&H35 , &H0207)
Call Lcd_write_reg(&H36 , &H000F)
Call Lcd_write_reg(&H37 , &H0306)
Call Lcd_write_reg(&H38 , &H0102)
Call Lcd_write_reg(&H39 , &H0707)
Call Lcd_write_reg(&H3c , &H0702)
Call Lcd_write_reg(&H3d , &H1604)
'------------------ Set GRAM area ---------------//
Call Lcd_write_reg(&H50 , &H0000) ' Horizontal GRAM Start Address
Call Lcd_write_reg(&H51 , &H00EF) ' Horizontal GRAM End Address
Call Lcd_write_reg(&H52 , &H0000) ' Vertical GRAM Start Address
Call Lcd_write_reg(&H53 , &H013F) ' Vertical GRAM Start Address
Call Lcd_write_reg(&H60 , &HA700) ' Gate Scan Line
Call Lcd_write_reg(&H61 , &H0001) ' NDL,VLE, REV
Call Lcd_write_reg(&H6a , &H0000) ' set scrolling line
'-------------- Partial Display Control ---------//
Call Lcd_write_reg(&H80 , &H0000)
Call Lcd_write_reg(&H81 , &H0000)
Call Lcd_write_reg(&H82 , &H0000)
Call Lcd_write_reg(&H83 , &H0000)
Call Lcd_write_reg(&H84 , &H0000)
Call Lcd_write_reg(&H85 , &H0000)
'-------------- Panel Control -------------------//
Call Lcd_write_reg(&H90 , &H0010)
Call Lcd_write_reg(&H92 , &H0600)
Call Lcd_write_reg(&H07 , &H0133) ' 262K color and display ON
end sub
Sub Lcd_init()
'************* Reset LCD Driver ****************//
Cs = 0
Res = 1
Waitms 1 'wait 1ms
Res = 0
Waitms 10 'wait 10ms / / This Delay Time Is Necessary
Res = 1
Waitms 50 'wait 50 ms
'************* Start Initial Sequence **********//
Call Lcd_write_reg(&He3 , &H3008) ' Set internal timing
Call Lcd_write_reg(&He7 , &H0012) ' Set internal timing
Call Lcd_write_reg(&Hef , &H1231) ' Set internal timing
Call Lcd_write_reg(&H01 , &H0100) ' set SS and SM bit
Call Lcd_write_reg(&H02 , &H0700) ' set 1 line inversion
Call Lcd_write_reg(&H03 , &H0000) ' set GRAM write direction and BGR=1.'1030
Call Lcd_write_reg(&H04 , &H0000) ' Resize register
Call Lcd_write_reg(&H08 , &H0207) ' set the back porch and front porch
Call Lcd_write_reg(&H09 , &H0000) ' set non-display area refresh cycle ISC[3:0]
Call Lcd_write_reg(&H0a , &H0000) ' FMARK function
Call Lcd_write_reg(&H0c , &H0000) ' RGB interface setting
Call Lcd_write_reg(&H0d , &H0000) ' Frame marker Position
Call Lcd_write_reg(&H0f , &H0000) ' RGB interface polarity
'*************Power On sequence ****************//
Call Lcd_write_reg(&H10 , &H0000) ' SAP, BT[3:0], AP, DSTB, SLP, STB
Call Lcd_write_reg(&H11 , &H0007) ' DC1[2:0], DC0[2:0], VC[2:0]
Call Lcd_write_reg(&H12 , &H0000) ' VREG1OUT voltage
Call Lcd_write_reg(&H13 , &H0000) ' VDV[4:0] for VCOM amplitude
Waitms 200 'Dis-charge capacitor power voltage
Call Lcd_write_reg(&H10 , &H1490) ' SAP, BT[3:0], AP, DSTB, SLP, STB
Call Lcd_write_reg(&H11 , &H0227) ' DC1[2:0], DC0[2:0], VC[2:0]
Waitms 50 'wait 50ms
Call Lcd_write_reg(&H12 , &H001C) ' Internal reference voltage= Vci;
Waitms 50 'wait 50ms
Call Lcd_write_reg(&H13 , &H1A00) ' Set VDV[4:0] for VCOM amplitude
Call Lcd_write_reg(&H29 , &H0025) ' Set VCM[5:0] for VCOMH
Call Lcd_write_reg(&H2b , &H000C) ' Set Frame Rate
Waitms 50 'wait 50ms
Call Lcd_write_reg(&H20 , &H0000) ' GRAM horizontal Address
Call Lcd_write_reg(&H21 , &H0000) ' GRAM Vertical Address
'----------- Adjust the Gamma Curve ----------//
Call Lcd_write_reg(&H30 , &H0000)
Call Lcd_write_reg(&H31 , &H0506)
Call Lcd_write_reg(&H32 , &H0104)
Call Lcd_write_reg(&H35 , &H0207)
Call Lcd_write_reg(&H36 , &H000F)
Call Lcd_write_reg(&H37 , &H0306)
Call Lcd_write_reg(&H38 , &H0102)
Call Lcd_write_reg(&H39 , &H0707)
Call Lcd_write_reg(&H3c , &H0702)
Call Lcd_write_reg(&H3d , &H1604)
'------------------ Set GRAM area ---------------//
Call Lcd_write_reg(&H50 , &H0000) ' Horizontal GRAM Start Address
Call Lcd_write_reg(&H51 , &H00EF) ' Horizontal GRAM End Address
Call Lcd_write_reg(&H52 , &H0000) ' Vertical GRAM Start Address
Call Lcd_write_reg(&H53 , &H013F) ' Vertical GRAM Start Address
Call Lcd_write_reg(&H60 , &HA700) ' Gate Scan Line
Call Lcd_write_reg(&H61 , &H0001) ' NDL,VLE, REV
Call Lcd_write_reg(&H6a , &H0000) ' set scrolling line
'-------------- Partial Display Control ---------//
Call Lcd_write_reg(&H80 , &H0000)
Call Lcd_write_reg(&H81 , &H0000)
Call Lcd_write_reg(&H82 , &H0000)
Call Lcd_write_reg(&H83 , &H0000)
Call Lcd_write_reg(&H84 , &H0000)
Call Lcd_write_reg(&H85 , &H0000)
'-------------- Panel Control -------------------//
Call Lcd_write_reg(&H90 , &H0010)
Call Lcd_write_reg(&H92 , &H0600)
Call Lcd_write_reg(&H07 , &H0133) ' 262K color and display ON
end sub
Ez még nagyon kevés a jóhoz!
Csak „Init”. Még 1 pixel sem került kirajzolásra.
Még rengeteg munkaidő kel hozzá, hogy valami ábrát is láthassunk ezen az Monitoron!

Különben ha már 3-nál több adat megy ugyanarra a perifériára inkább ciklusba, raknám!
Ennyi rutinhívás csak az init-hez?
Menyi memória fog kelleni az egészhez? És a Grafikához különben is sebességre kel optimalizálni a programot.

Csak „Init”. Még 1 pixel sem került kirajzolásra.
Még rengeteg munkaidő kel hozzá, hogy valami ábrát is láthassunk ezen az Monitoron!
Különben ha már 3-nál több adat megy ugyanarra a perifériára inkább ciklusba, raknám!
Ennyi rutinhívás csak az init-hez?
Menyi memória fog kelleni az egészhez? És a Grafikához különben is sebességre kel optimalizálni a programot.
Talán AVR-DOS
http://bascom-forum.de/index.php/topic,3851.45.html
Ezen a fórumon találtam.
Kérdezz rá.
András
http://bascom-forum.de/index.php/topic,3851.45.html
Ezen a fórumon találtam.
Kérdezz rá.
András
Valós időben megy a kép miközben fényképezek....
Bár inkább ez lehet a valóság ha fel is kell dolgozni az adatokat....
http://www.youtube.com/watch?v=sw6tmo5W ... r_embedded
Bár inkább ez lehet a valóság ha fel is kell dolgozni az adatokat....
http://www.youtube.com/watch?v=sw6tmo5W ... r_embedded
Neked nem ST32 van?
Mert az nem = Mega32-vel
http://www.youtube.com/watch?v=tSP6_Wco3So&NR=1

http://www.st.com/internet/mcu/subclass/1192.jsp
Ezt viszont nem ismeri a Bascom! GnuCpp ismeretek kelenek a 32bítes ARM procikhoz!

Mert az nem = Mega32-vel
http://www.youtube.com/watch?v=tSP6_Wco3So&NR=1
http://www.st.com/internet/mcu/subclass/1192.jsp
Ezt viszont nem ismeri a Bascom! GnuCpp ismeretek kelenek a 32bítes ARM procikhoz!
- nobody_hun
- Bitfaragó
- Hozzászólások: 425
- Csatlakozott: 2005. november 14. hétfő, 7:00
Ha jól emlékszem, ott a kamera adatfolyama csak át van lapozva az LCD-re, egy 74245-ön keresztül.
Az adatfolyamban az AVR semmit nem csinál...
A sebesség mást fog mutatni, ha számolással kell a kijelzőt megtölteni...
Az adatfolyamban az AVR semmit nem csinál...
A sebesség mást fog mutatni, ha számolással kell a kijelzőt megtölteni...
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
- nobody_hun
- Bitfaragó
- Hozzászólások: 425
- Csatlakozott: 2005. november 14. hétfő, 7:00
M32 nem csereszabatos az XMegával.
Képfrissítés:
1 kép= 320x240x3 (262k-hoz RGB888-cal kell hajtani)=230400 bájt.
Egy képpont beíráshoz kell minimum egy darab 1->0 átmenet.
Ez összesen 2 órajel (1*CBI, 1*SBI)
A 3 RGB változó feltöltése (mondjuk flashből, mert az a leggyorsabb, ASM-ben), portra kiírása 4 órajel (3*LDI + 1* OUT).
Ez már is 1843200 órajel...
Képfrissítés:
1 kép= 320x240x3 (262k-hoz RGB888-cal kell hajtani)=230400 bájt.
Egy képpont beíráshoz kell minimum egy darab 1->0 átmenet.
Ez összesen 2 órajel (1*CBI, 1*SBI)
A 3 RGB változó feltöltése (mondjuk flashből, mert az a leggyorsabb, ASM-ben), portra kiírása 4 órajel (3*LDI + 1* OUT).
Ez már is 1843200 órajel...
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."