##// END OF EJS Templates
sync
jeandet@pc-de-jeandet3.LAB-LPP.LOCAL -
r33:565d4ea31641 dev_alexis
parent child
Show More
@@ -162,7 +162,7 void bsp_FSMC_init()
162 162
163 163 FSMC_NORSRAMInit(&FSMC_NORSRAMInitStructure);
164 164
165 /* Enable FSMC NOR/SRAM Bank3 */
165 /* Enable FSMC NOR/SRAM Bank1 */
166 166 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);
167 167 lcdIF0.writereg=&bsp_lcd0_write_reg;
168 168 lcd0.interface=&lcdIF0;
@@ -219,6 +219,10 void bsp_lcd0_write_reg(uint32_t reg,uin
219 219 {
220 220 *lcd0_CMD=(uint16_t)reg;
221 221 *lcd0_DATA=(uint16_t)data;
222 printf("Write to 0x%x 0x%x\n\r",reg,data);
223 *lcd0_CMD=(uint16_t)reg;
224 data = *lcd0_DATA;
225 printf("Readback to 0x%x 0x%x\n\r",reg,data);
222 226 }
223 227
224 228
@@ -22,16 +22,35 int main()
22 22 *regtest=(int16_t)0;
23 23 printf("LCD ID=%x\n\r",0xFFFF&(*regtest2));
24 24 *regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE;
25 printf("ILI9328_REGISTER_ENTRYMODE=%x\n\r",0xFFFF&(*regtest2));
25 *regtest2=(int16_t)0x1008;
26 26 *regtest=(int16_t)0x20;
27 27 *regtest2=(int16_t)0x0;
28 28 *regtest=(int16_t)0x21;
29 29 *regtest2=(int16_t)0x0;
30 30 *regtest=(int16_t)0x22;
31 for(volatile int i=0;i<1024*64;i++)
31 for(volatile int i=0;i<32;i++)
32 32 {
33 *regtest=(int16_t)0x20;
33 34 *regtest2=(int16_t)i;
35 *regtest=(int16_t)0x21;
36 *regtest2=(int16_t)0x0;
37 *regtest=(int16_t)0x22;
38 *regtest2=(int16_t)-i;
34 39 }
40 *regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE;
41 *regtest2=(int16_t)0x1018;
42
43 for(volatile int i=0;i<32;i++)
44 {
45 *regtest=(int16_t)0x20;
46 *regtest2=(int16_t)i;
47 *regtest=(int16_t)0x21;
48 *regtest2=(int16_t)0x0;
49 *regtest=(int16_t)0x22;
50 int16_t test=*regtest2;
51 printf("DATA@%d=%x\n\r",i,0xFFFF&(*regtest2));
52 }
53
35 54 if(-1==ina226open(&ina33VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,0,1,15,1000000))
36 55 {
37 56 printf("Can't open 3.3V monitor\n\r");
@@ -24,60 +24,61
24 24
25 25 #include <uhandle.h>
26 26 #include <genericLCD_Controler.h>
27 #include <stdint.h>
27 28
28 29 extern int ili9328init(struct LCD_t* LCD);
29 30 extern void ili9328paint_t(LCD_t* LCD,void* buffer,uint16_t Xpos,uint16_t Ypos,uint16_t Width,uint16_t Height);
30 31
31 #define ILI9328_REGISTER_DRIVERCODEREAD ((uint16_t) 0x0000 )
32 #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL1 ((uint16_t) 0x0001 )
33 #define ILI9328_REGISTER_LCDDRIVINGCONTROL ((uint16_t) 0x0002 )
34 #define ILI9328_REGISTER_ENTRYMODE ((uint16_t) 0x0003 )
35 #define ILI9328_REGISTER_RESIZECONTROL ((uint16_t) 0x0004 )
36 #define ILI9328_REGISTER_DISPLAYCONTROL1 ((uint16_t) 0x0007 )
37 #define ILI9328_REGISTER_DISPLAYCONTROL2 ((uint16_t) 0x0008 )
38 #define ILI9328_REGISTER_DISPLAYCONTROL3 ((uint16_t) 0x0009 )
39 #define ILI9328_REGISTER_DISPLAYCONTROL4 ((uint16_t) 0x000A )
40 #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL1 ((uint16_t) 0x000C )
41 #define ILI9328_REGISTER_FRAMEMAKERPOSITION ((uint16_t) 0x000D )
42 #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL2 ((uint16_t) 0x000F )
43 #define ILI9328_REGISTER_POWERCONTROL1 ((uint16_t) 0x0010 )
44 #define ILI9328_REGISTER_POWERCONTROL2 ((uint16_t) 0x0011 )
45 #define ILI9328_REGISTER_POWERCONTROL3 ((uint16_t) 0x0012 )
46 #define ILI9328_REGISTER_POWERCONTROL4 ((uint16_t) 0x0013 )
47 #define ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET ((uint16_t) 0x0020 )
48 #define ILI9328_REGISTER_VERTICALGRAMADDRESSSET ((uint16_t) 0x0021 )
49 #define ILI9328_REGISTER_WRITEDATATOGRAM ((uint16_t) 0x0022 )
50 #define ILI9328_REGISTER_POWERCONTROL7 ((uint16_t) 0x0029 )
51 #define ILI9328_REGISTER_FRAMERATEANDCOLORCONTROL ((uint16_t) 0x002B )
52 #define ILI9328_REGISTER_GAMMACONTROL1 ((uint16_t) 0x0030 )
53 #define ILI9328_REGISTER_GAMMACONTROL2 ((uint16_t) 0x0031 )
54 #define ILI9328_REGISTER_GAMMACONTROL3 ((uint16_t) 0x0032 )
55 #define ILI9328_REGISTER_GAMMACONTROL4 ((uint16_t) 0x0035 )
56 #define ILI9328_REGISTER_GAMMACONTROL5 ((uint16_t) 0x0036 )
57 #define ILI9328_REGISTER_GAMMACONTROL6 ((uint16_t) 0x0037 )
58 #define ILI9328_REGISTER_GAMMACONTROL7 ((uint16_t) 0x0038 )
59 #define ILI9328_REGISTER_GAMMACONTROL8 ((uint16_t) 0x0039 )
60 #define ILI9328_REGISTER_GAMMACONTROL9 ((uint16_t) 0x003C )
61 #define ILI9328_REGISTER_GAMMACONTROL10 ((uint16_t) 0x003D )
62 #define ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION ((uint16_t) 0x0050 )
63 #define ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION ((uint16_t) 0x0051 )
64 #define ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION ((uint16_t) 0x0052 )
65 #define ILI9328_REGISTER_VERTICALADDRESSENDPOSITION ((uint16_t) 0x0053 )
66 #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL2 ((uint16_t) 0x0060 )
67 #define ILI9328_REGISTER_BASEIMAGEDISPLAYCONTROL ((uint16_t) 0x0061 )
68 #define ILI9328_REGISTER_VERTICALSCROLLCONTROL ((uint16_t) 0x006A )
69 #define ILI9328_REGISTER_PARTIALIMAGE1DISPLAYPOSITION ((uint16_t) 0x0080 )
70 #define ILI9328_REGISTER_PARTIALIMAGE1AREASTARTLINE ((uint16_t) 0x0081 )
71 #define ILI9328_REGISTER_PARTIALIMAGE1AREAENDLINE ((uint16_t) 0x0082 )
72 #define ILI9328_REGISTER_PARTIALIMAGE2DISPLAYPOSITION ((uint16_t) 0x0083 )
73 #define ILI9328_REGISTER_PARTIALIMAGE2AREASTARTLINE ((uint16_t) 0x0084 )
74 #define ILI9328_REGISTER_PARTIALIMAGE2AREAENDLINE ((uint16_t) 0x0085 )
75 #define ILI9328_REGISTER_PANELINTERFACECONTROL1 ((uint16_t) 0x0090 )
76 #define ILI9328_REGISTER_PANELINTERFACECONTROL2 ((uint16_t) 0x0092 )
77 #define ILI9328_REGISTER_PANELINTERFACECONTROL4 ((uint16_t) 0x0095 )
78 #define ILI9328_REGISTER_OTPVCMPROGRAMMINGCONTROL ((uint16_t) 0x00A1 )
79 #define ILI9328_REGISTER_OTPVCMSTATUSANDENABLE ((uint16_t) 0x00A2 )
80 #define ILI9328_REGISTER_OTPPROGRAMMINGIDKEY ((uint16_t) 0x00A5 )
32 #define ILI9328_REGISTER_DRIVERCODEREAD ((uint32_t) 0x0000 )
33 #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL1 ((uint32_t) 0x0001 )
34 #define ILI9328_REGISTER_LCDDRIVINGCONTROL ((uint32_t) 0x0002 )
35 #define ILI9328_REGISTER_ENTRYMODE ((uint32_t) 0x0003 )
36 #define ILI9328_REGISTER_RESIZECONTROL ((uint32_t) 0x0004 )
37 #define ILI9328_REGISTER_DISPLAYCONTROL1 ((uint32_t) 0x0007 )
38 #define ILI9328_REGISTER_DISPLAYCONTROL2 ((uint32_t) 0x0008 )
39 #define ILI9328_REGISTER_DISPLAYCONTROL3 ((uint32_t) 0x0009 )
40 #define ILI9328_REGISTER_DISPLAYCONTROL4 ((uint32_t) 0x000A )
41 #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL1 ((uint32_t) 0x000C )
42 #define ILI9328_REGISTER_FRAMEMAKERPOSITION ((uint32_t) 0x000D )
43 #define ILI9328_REGISTER_RGBDISPLAYINTERFACECONTROL2 ((uint32_t) 0x000F )
44 #define ILI9328_REGISTER_POWERCONTROL1 ((uint32_t) 0x0010 )
45 #define ILI9328_REGISTER_POWERCONTROL2 ((uint32_t) 0x0011 )
46 #define ILI9328_REGISTER_POWERCONTROL3 ((uint32_t) 0x0012 )
47 #define ILI9328_REGISTER_POWERCONTROL4 ((uint32_t) 0x0013 )
48 #define ILI9328_REGISTER_HORIZONTALGRAMADDRESSSET ((uint32_t) 0x0020 )
49 #define ILI9328_REGISTER_VERTICALGRAMADDRESSSET ((uint32_t) 0x0021 )
50 #define ILI9328_REGISTER_WRITEDATATOGRAM ((uint32_t) 0x0022 )
51 #define ILI9328_REGISTER_POWERCONTROL7 ((uint32_t) 0x0029 )
52 #define ILI9328_REGISTER_FRAMERATEANDCOLORCONTROL ((uint32_t) 0x002B )
53 #define ILI9328_REGISTER_GAMMACONTROL1 ((uint32_t) 0x0030 )
54 #define ILI9328_REGISTER_GAMMACONTROL2 ((uint32_t) 0x0031 )
55 #define ILI9328_REGISTER_GAMMACONTROL3 ((uint32_t) 0x0032 )
56 #define ILI9328_REGISTER_GAMMACONTROL4 ((uint32_t) 0x0035 )
57 #define ILI9328_REGISTER_GAMMACONTROL5 ((uint32_t) 0x0036 )
58 #define ILI9328_REGISTER_GAMMACONTROL6 ((uint32_t) 0x0037 )
59 #define ILI9328_REGISTER_GAMMACONTROL7 ((uint32_t) 0x0038 )
60 #define ILI9328_REGISTER_GAMMACONTROL8 ((uint32_t) 0x0039 )
61 #define ILI9328_REGISTER_GAMMACONTROL9 ((uint32_t) 0x003C )
62 #define ILI9328_REGISTER_GAMMACONTROL10 ((uint32_t) 0x003D )
63 #define ILI9328_REGISTER_HORIZONTALADDRESSSTARTPOSITION ((uint32_t) 0x0050 )
64 #define ILI9328_REGISTER_HORIZONTALADDRESSENDPOSITION ((uint32_t) 0x0051 )
65 #define ILI9328_REGISTER_VERTICALADDRESSSTARTPOSITION ((uint32_t) 0x0052 )
66 #define ILI9328_REGISTER_VERTICALADDRESSENDPOSITION ((uint32_t) 0x0053 )
67 #define ILI9328_REGISTER_DRIVEROUTPUTCONTROL2 ((uint32_t) 0x0060 )
68 #define ILI9328_REGISTER_BASEIMAGEDISPLAYCONTROL ((uint32_t) 0x0061 )
69 #define ILI9328_REGISTER_VERTICALSCROLLCONTROL ((uint32_t) 0x006A )
70 #define ILI9328_REGISTER_PARTIALIMAGE1DISPLAYPOSITION ((uint32_t) 0x0080 )
71 #define ILI9328_REGISTER_PARTIALIMAGE1AREASTARTLINE ((uint32_t) 0x0081 )
72 #define ILI9328_REGISTER_PARTIALIMAGE1AREAENDLINE ((uint32_t) 0x0082 )
73 #define ILI9328_REGISTER_PARTIALIMAGE2DISPLAYPOSITION ((uint32_t) 0x0083 )
74 #define ILI9328_REGISTER_PARTIALIMAGE2AREASTARTLINE ((uint32_t) 0x0084 )
75 #define ILI9328_REGISTER_PARTIALIMAGE2AREAENDLINE ((uint32_t) 0x0085 )
76 #define ILI9328_REGISTER_PANELINTERFACECONTROL1 ((uint32_t) 0x0090 )
77 #define ILI9328_REGISTER_PANELINTERFACECONTROL2 ((uint32_t) 0x0092 )
78 #define ILI9328_REGISTER_PANELINTERFACECONTROL4 ((uint32_t) 0x0095 )
79 #define ILI9328_REGISTER_OTPVCMPROGRAMMINGCONTROL ((uint32_t) 0x00A1 )
80 #define ILI9328_REGISTER_OTPVCMSTATUSANDENABLE ((uint32_t) 0x00A2 )
81 #define ILI9328_REGISTER_OTPPROGRAMMINGIDKEY ((uint32_t) 0x00A5 )
81 82
82 83
83 84 #endif
@@ -51,15 +51,15 int ili9328init(struct LCD_t* LCD)
51 51 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL2, 0x0007); // Power Control 2 (R11h)
52 52 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL3, 0x0000); // Power Control 3 (R12h)
53 53 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL4, 0x0000); // Power Control 4 (R13h)
54 _delay_(10000000);
54 _delay_(1000000);
55 55 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL1, 0x14B0); // Power Control 1 (R10h)
56 _delay_(5000000);
56 _delay_(500000);
57 57 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL2, 0x0007); // Power Control 2 (R11h)
58 _delay_(5000000);
58 _delay_(500000);
59 59 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL3, 0x008E); // Power Control 3 (R12h)
60 60 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL4, 0x0C00); // Power Control 4 (R13h)
61 61 LCD->interface->writereg(ILI9328_REGISTER_POWERCONTROL7, 0x0015); // NVM read data 2 (R29h)
62 _delay_(5000000);
62 _delay_(500000);
63 63 LCD->interface->writereg(ILI9328_REGISTER_GAMMACONTROL1, 0x0000); // Gamma Control 1
64 64 LCD->interface->writereg(ILI9328_REGISTER_GAMMACONTROL2, 0x0107); // Gamma Control 2
65 65 LCD->interface->writereg(ILI9328_REGISTER_GAMMACONTROL3, 0x0000); // Gamma Control 3
@@ -79,7 +79,7 int ili9328init(struct LCD_t* LCD)
79 79 LCD->interface->writereg(ILI9328_REGISTER_PANELINTERFACECONTROL1, 0X0010); // Panel Interface Control 1 (R90h)
80 80 // Display On
81 81 LCD->interface->writereg(ILI9328_REGISTER_DISPLAYCONTROL1, 0x0133); // Display Control (R07h)
82 _delay_(5000000);
82 _delay_(500000);
83 83 LCD->interface->writereg(ILI9328_REGISTER_ENTRYMODE, 0x1030);
84 84 LCD->interface->writereg(ILI9328_REGISTER_DRIVEROUTPUTCONTROL1, 0x0100);
85 85 //ili9328WriteCmd(ILI9328_REGISTER_WRITEDATATOGRAM);
General Comments 0
You need to be logged in to leave comments. Login now