@@ -49,6 +49,8 | |||||
49 | #define PSU_ALERT_1_5V PF3 |
|
49 | #define PSU_ALERT_1_5V PF3 | |
50 | #define PSU_ALERT_3_3V PF4 |
|
50 | #define PSU_ALERT_3_3V PF4 | |
51 |
|
51 | |||
|
52 | #define LCD_RESET PE2 | |||
|
53 | ||||
52 | extern float VREF0; |
|
54 | extern float VREF0; | |
53 |
|
55 | |||
54 | extern uint32_t currentCpuFreq; |
|
56 | extern uint32_t currentCpuFreq; |
@@ -36,8 +36,8 extern streamdevice* __opnfiles__[__MAX_ | |||||
36 | LCD_t lcd0; |
|
36 | LCD_t lcd0; | |
37 | LCD_IF_t lcdIF0; |
|
37 | LCD_IF_t lcdIF0; | |
38 |
|
38 | |||
39 | volatile int16_t* lcd0_CMD=(volatile int16_t*)0x60000000; |
|
39 | volatile int16_t* lcd0_CMD=(volatile int16_t*) 0x60000000; | |
40 |
volatile int16_t* lcd0_DATA=(volatile int16_t*)(0x6 |
|
40 | volatile int16_t* lcd0_DATA=(volatile int16_t*)(0x61FFFFF0); | |
41 |
|
41 | |||
42 | float VREF0 =(float)3.3; |
|
42 | float VREF0 =(float)3.3; | |
43 |
|
43 | |||
@@ -109,6 +109,11 void bsp_FSMC_init() | |||||
109 | #define GPIOGETPORT(gpio) ((GPIO_TypeDef*)(((((uint32_t)gpio) & (uint32_t)0x0000FF00)*(uint32_t)4) + (uint32_t)GPIOA)) |
|
109 | #define GPIOGETPORT(gpio) ((GPIO_TypeDef*)(((((uint32_t)gpio) & (uint32_t)0x0000FF00)*(uint32_t)4) + (uint32_t)GPIOA)) | |
110 | #define GPIOPORTNUM(gpio) (((uint32_t)(gpio) & (uint32_t)0x0000FF00)>>(uint32_t)8) |
|
110 | #define GPIOPORTNUM(gpio) (((uint32_t)(gpio) & (uint32_t)0x0000FF00)>>(uint32_t)8) | |
111 |
|
111 | |||
|
112 | gpio_t gpio1 = gpioopen(LCD_RESET); | |||
|
113 | gpiosetspeed(&gpio1,gpiohighspeed); | |||
|
114 | gpiosetdir(&gpio1,gpiooutdir); | |||
|
115 | gpioclr(LCD_RESET); | |||
|
116 | ||||
112 | gpio_t LCD_DBxList[]={PD14,PD15,PD0,PD1,PE7,PE8,PE9,PE10,PE11,PE12,PE13,PE14,PE15\ |
|
117 | gpio_t LCD_DBxList[]={PD14,PD15,PD0,PD1,PE7,PE8,PE9,PE10,PE11,PE12,PE13,PE14,PE15\ | |
113 | ,PD8,PD9,PD10,PD4,PD5,PD7,PE4}; |
|
118 | ,PD8,PD9,PD10,PD4,PD5,PD7,PE4}; | |
114 | for(int i=0;i<20;i++) |
|
119 | for(int i=0;i<20;i++) | |
@@ -167,6 +172,7 void bsp_FSMC_init() | |||||
167 | lcdIF0.writereg=&bsp_lcd0_write_reg; |
|
172 | lcdIF0.writereg=&bsp_lcd0_write_reg; | |
168 | lcd0.interface=&lcdIF0; |
|
173 | lcd0.interface=&lcdIF0; | |
169 | lcd0.init=&ili9328init; |
|
174 | lcd0.init=&ili9328init; | |
|
175 | gpioset(LCD_RESET); | |||
170 | lcd0.init(&lcd0); |
|
176 | lcd0.init(&lcd0); | |
171 | } |
|
177 | } | |
172 |
|
178 | |||
@@ -219,10 +225,6 void bsp_lcd0_write_reg(uint32_t reg,uin | |||||
219 | { |
|
225 | { | |
220 | *lcd0_CMD=(uint16_t)reg; |
|
226 | *lcd0_CMD=(uint16_t)reg; | |
221 | *lcd0_DATA=(uint16_t)data; |
|
227 | *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); |
|
|||
226 | } |
|
228 | } | |
227 |
|
229 | |||
228 |
|
230 |
@@ -16,40 +16,26 int main() | |||||
16 | INA226_t ina5VSens,ina33VSens,ina15VSens; |
|
16 | INA226_t ina5VSens,ina33VSens,ina15VSens; | |
17 | gpioset(PSU_DISABLE); |
|
17 | gpioset(PSU_DISABLE); | |
18 | volatile int16_t* regtest=(volatile int16_t*)0x60000000; |
|
18 | volatile int16_t* regtest=(volatile int16_t*)0x60000000; | |
19 |
volatile int16_t* regtest2=(volatile int16_t*)(0x6 |
|
19 | volatile int16_t* regtest2=(volatile int16_t*)(0x61FFFFF0); | |
20 | //ina226open(&ina5VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,0,0,15,1000000); |
|
20 | //ina226open(&ina5VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,0,0,15,1000000); | |
21 | //ina226open(&ina15VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,1,0,15,1000000); |
|
21 | //ina226open(&ina15VSens,i2c2,INA226_MODE_SHUNT_VOLTAGE_CONTINUOUS|INA226_AVERAGES_16|INA226_BUS_CONV_8244us|INA226_SHUNT_CONV_8244us,1,0,15,1000000); | |
22 | *regtest=(int16_t)0; |
|
22 | *regtest=(int16_t)0; | |
23 | printf("LCD ID=%x\n\r",0xFFFF&(*regtest2)); |
|
23 | printf("LCD ID=%x\n\r",0xFFFF&(*regtest2)); | |
24 | *regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; |
|
24 | //*regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; | |
25 | *regtest2=(int16_t)0x1008; |
|
25 | //*regtest2=(int16_t)0x1008; | |
26 | *regtest=(int16_t)0x20; |
|
26 | *regtest=(int16_t)0x20; | |
27 | *regtest2=(int16_t)0x0; |
|
27 | *regtest2=(int16_t)0x0; | |
28 | *regtest=(int16_t)0x21; |
|
28 | *regtest=(int16_t)0x21; | |
29 | *regtest2=(int16_t)0x0; |
|
29 | *regtest2=(int16_t)0x0; | |
30 | *regtest=(int16_t)0x22; |
|
30 | *regtest=(int16_t)0x22; | |
31 | for(volatile int i=0;i<32;i++) |
|
31 | for(volatile int i=0;i<(320*240);i++) | |
32 | { |
|
32 | { | |
33 | *regtest=(int16_t)0x20; |
|
|||
34 | *regtest2=(int16_t)i; |
|
33 | *regtest2=(int16_t)i; | |
35 | *regtest=(int16_t)0x21; |
|
34 | for(volatile int l=0;l<(1024);l++); | |
36 | *regtest2=(int16_t)0x0; |
|
35 | ||
37 | *regtest=(int16_t)0x22; |
|
|||
38 | *regtest2=(int16_t)-i; |
|
|||
39 | } |
|
36 | } | |
40 | *regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; |
|
37 | //*regtest=(int16_t)ILI9328_REGISTER_ENTRYMODE; | |
41 | *regtest2=(int16_t)0x1018; |
|
38 | //*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 |
|
39 | |||
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)) |
|
40 | 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)) | |
55 | { |
|
41 | { |
General Comments 0
You need to be logged in to leave comments.
Login now