Browse Source

显示信息

master
sc 6 days ago
parent
commit
f406325721
  1. 1
      .cproject
  2. 219
      applications/data/SC828_DATA_table.c
  3. 54
      applications/lvgl/guider/generated/gui_guider.h
  4. 1206
      applications/lvgl/guider/generated/guider_fonts/lv_font_simsun_14.c
  5. 1410
      applications/lvgl/guider/generated/setup_scr_screen.c
  6. 219
      applications/lvgl/lv__user_gui.c
  7. 2
      applications/lvgl/lv_port_disp.c
  8. 1
      applications/main.c
  9. 1
      cubemx/Inc/stm32h7xx_it.h
  10. 4
      cubemx/Src/main.c
  11. 15
      cubemx/Src/stm32h7xx_it.c
  12. 3
      cubemx/cubemx.ioc
  13. 2
      drivers/ltdc.c

1
.cproject

@ -1230,6 +1230,7 @@
<tool id="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.144383425" name="GNU ARM Cross C Compiler" superClass="ilg.gnuarmeclipse.managedbuild.cross.tool.c.compiler.827635923">
<option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths.1831576795" name="Include paths (-I)" superClass="ilg.gnuarmeclipse.managedbuild.cross.option.c.compiler.include.paths" useByScannerDiscovery="true" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/applications/lvgl/guider}&quot;" />
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/applications/lvgl/guider/generated}&quot;" />
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/applications/lvgl/guider/custom}&quot;" />
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/${ProjName}/applications/lvgl/guider/generated}&quot;" />
<listOptionValue builtIn="false" value="&quot;${workspace_loc://${ProjName}/drivers}&quot;" />

219
applications/data/SC828_DATA_table.c

@ -27,90 +27,67 @@ IO_State_DIO di_table[] = {
{2002, 0, STR_TEMP_LOCK},
{2003, 0, STR_PRESSURE_LOCK},
{2004, 0, STR_CALL_CONFIRM},
{2005, 0, STR_MANUAL},
{2006, 0, STR_FAN_START},
{2005, 0, STR_ALARM},
{2006, 0, STR_HAND_AUTO},
{2007, 0, STR_FAN_FAULT},
{2008, 0, STR_MAIN_PUMP_FAULT},
{2009, 0, STR_ROLL_RESET},
{2010, 0, STR_FABRIC_FAULT},
{2011, 0, STR_ELEC_FAULT},
{2012, 0, STR_MATERIAL_PUMP1},
{2013, 0, STR_MATERIAL_PUMP2},
{2014, 0, STR_MATERIAL_PUMP3},
{2015, 0, STR_MANUAL1},
{2016, 0, STR_COIL_CAR1},
{2017, 0, STR_FABRIC_HEAD1},
{2018, 0, STR_ROLL_FWD1},
{2019, 0, STR_ROLL_REV1},
{2020, 0, STR_ROLL_OVERLOAD1},
{2021, 0, STR_BLOCK_FABRIC1},
{2022, 0, STR_MATERIAL1_HIGH},
{2023, 0, STR_MATERIAL1_LOW},
{2024, 0, STR_MATERIAL1_IN},
{2025, 0, STR_MATERIAL1_OUT},
{2026, 0, STR_MATERIAL1_RECIRC},
{2027, 0, STR_MATERIAL1_BOTTOM},
{2028, 0, STR_MATERIAL1_FILL},
{2029, 0, STR_MATERIAL1_HEAT},
{2030, 0, STR_MATERIAL2_HIGH},
{2031, 0, STR_MATERIAL2_LOW},
{2032, 0, STR_MATERIAL2_IN},
{2033, 0, STR_MATERIAL2_OUT},
{2034, 0, STR_MATERIAL2_RECIRC},
{2035, 0, STR_MATERIAL2_BOTTOM},
{2036, 0, STR_MATERIAL2_FILL},
{2037, 0, STR_MATERIAL2_HEAT},
{2038, 0, STR_MATERIAL2_STIR},
{2039, 0, STR_MANUAL2},
{2040, 0, STR_COIL_CAR2},
{2041, 0, STR_FABRIC_HEAD2},
{2042, 0, STR_ROLL_FWD2},
{2043, 0, STR_ROLL_REV2},
{2044, 0, STR_ROLL_OVERLOAD2},
{2045, 0, STR_BLOCK_FABRIC2},
{2046, 0, STR_MANUAL3},
{2047, 0, STR_COIL_CAR3},
{2048, 0, STR_FABRIC_HEAD3},
{2049, 0, STR_ROLL_FWD3},
{2050, 0, STR_ROLL_REV3},
{2051, 0, STR_ROLL_OVERLOAD3},
{2052, 0, STR_BLOCK_FABRIC3},
{2053, 0, STR_MANUAL4},
{2054, 0, STR_COIL_CAR4},
{2055, 0, STR_FABRIC_HEAD4},
{2056, 0, STR_ROLL_FWD4},
{2057, 0, STR_ROLL_REV4},
{2058, 0, STR_ROLL_OVERLOAD4},
{2059, 0, STR_BLOCK_FABRIC4},
{2060, 0, STR_MANUAL5},
{2061, 0, STR_COIL_CAR5},
{2062, 0, STR_FABRIC_HEAD5},
{2063, 0, STR_ROLL_FWD5},
{2064, 0, STR_ROLL_REV5},
{2065, 0, STR_ROLL_OVERLOAD5},
{2066, 0, STR_BLOCK_FABRIC5},
{2067, 0, STR_MANUAL6},
{2068, 0, STR_COIL_CAR6},
{2069, 0, STR_FABRIC_HEAD6},
{2070, 0, STR_ROLL_FWD6},
{2071, 0, STR_ROLL_REV6},
{2072, 0, STR_ROLL_OVERLOAD6},
{2073, 0, STR_BLOCK_FABRIC6},
{2074, 0, STR_MATERIAL3_HIGH},
{2075, 0, STR_MATERIAL3_LOW},
{2076, 0, STR_MATERIAL3_IN},
{2077, 0, STR_MATERIAL3_OUT},
{2078, 0, STR_MATERIAL3_RECIRC},
{2079, 0, STR_MATERIAL3_BOTTOM},
{2080, 0, STR_MATERIAL3_FILL},
{2081, 0, STR_MATERIAL3_HEAT},
{2082, 0, STR_MATERIAL3_STIR},
{2083, 0, STR_NULL},
{2084, 0, STR_NULL},
{2085, 0, STR_NULL},
{2086, 0, STR_NULL},
{2087, 0, STR_NULL},
{2088, 0, STR_NULL},
{2009, 0, STR_ELEC_FAULT},
{2010, 0, STR_MATERIAL_PUMP1},
{2011, 0, STR_MATERIAL_PUMP2},
{2012, 0, STR_MANUAL1},
{2013, 0, STR_COIL_CAR1},
{2014, 0, STR_FABRIC_HEAD1},
{2015, 0, STR_ROLL_FWD1},
{2016, 0, STR_ROLL_REV1},
{2017, 0, STR_ROLL_OVERLOAD1},
{2018, 0, STR_BLOCK_FABRIC1},
{2019, 0, STR_MATERIAL1_HIGH},
{2020, 0, STR_MATERIAL1_LOW},
{2021, 0, STR_MATERIAL1_IN},
{2022, 0, STR_MATERIAL1_OUT},
{2023, 0, STR_MATERIAL1_RECIRC},
{2024, 0, STR_MATERIAL1_BOTTOM},
{2025, 0, STR_MATERIAL1_FILL},
{2026, 0, STR_MATERIAL1_HEAT},
{2027, 0, STR_MATERIAL2_HIGH},
{2028, 0, STR_MATERIAL2_LOW},
{2029, 0, STR_MATERIAL2_IN},
{2030, 0, STR_MATERIAL2_OUT},
{2031, 0, STR_MATERIAL2_RECIRC},
{2032, 0, STR_MATERIAL2_BOTTOM},
{2033, 0, STR_MATERIAL2_FILL},
{2034, 0, STR_MATERIAL2_HEAT},
{2035, 0, STR_MATERIAL2_STIR},
{2036, 0, STR_MANUAL2},
{2037, 0, STR_COIL_CAR2},
{2038, 0, STR_FABRIC_HEAD2},
{2039, 0, STR_ROLL_FWD2},
{2040, 0, STR_ROLL_REV2},
{2041, 0, STR_ROLL_OVERLOAD2},
{2042, 0, STR_BLOCK_FABRIC2},
{2043, 0, STR_MANUAL3},
{2044, 0, STR_COIL_CAR3},
{2045, 0, STR_FABRIC_HEAD3},
{2046, 0, STR_ROLL_FWD3},
{2047, 0, STR_ROLL_REV3},
{2048, 0, STR_ROLL_OVERLOAD3},
{2049, 0, STR_BLOCK_FABRIC3},
{2050, 0, STR_MANUAL4},
{2051, 0, STR_COIL_CAR4},
{2052, 0, STR_FABRIC_HEAD4},
{2053, 0, STR_ROLL_FWD4},
{2054, 0, STR_ROLL_REV4},
{2054, 0, STR_ROLL_OVERLOAD4},
{2055, 0, STR_BLOCK_FABRIC4},
{2056, 0, STR_NULL},
{2057, 0, STR_NULL},
{2058, 0, STR_NULL},
{2059, 0, STR_NULL},
{2060, 0, STR_NULL},
{2061, 0, STR_NULL},
{2062, 0, STR_NULL},
{2063, 0, STR_NULL},
{2064, 0, STR_NULL}
};
// --- DIO 输出(3001~3066)---
IO_State_DIO do_table[] = {
@ -144,44 +121,40 @@ IO_State_DIO do_table[] = {
{3028, 0, STR_ROLL_REV_4}, // 布轮反转4
{3029, 0, STR_ROLL_FWD_5}, // 布轮正转5
{3030, 0, STR_ROLL_REV_5}, // 布轮反转5
{3031, 0, STR_ROLL_FWD_6}, // 布轮正转6
{3032, 0, STR_ROLL_REV_6}, // 布轮反转6
{3033, 0, STR_TANK1_PUMP}, // 药缸1泵
{3034, 0, STR_TANK1_WATER_IN_1}, // 药缸1入水1
{3035, 0, STR_TANK1_WATER_IN_2}, // 药缸1入水2
{3036, 0, STR_TANK1_RETURN_WATER}, // 药缸1回水
{3037, 0, STR_TANK1_HEAT}, // 药缸1加热
{3038, 0, STR_TANK1_STIRRER}, // 药缸1搅拌器
{3039, 0, STR_TANK1_STIR_VALVE}, // 药缸1搅拌阀
{3040, 0, STR_TANK1_FILL_VALVE}, // 药缸1加料阀
{3041, 0, STR_TANK1_BYPASS_VALVE}, // 药缸1比例旁通阀
{3042, 0, STR_TANK1_DRAIN_VALVE}, // 药缸1排水阀
{3043, 0, STR_TANK2_PUMP}, // 药缸2泵
{3044, 0, STR_TANK2_WATER_IN_1}, // 药缸2入水1
{3045, 0, STR_TANK2_WATER_IN_2}, // 药缸2入水2
{3046, 0, STR_TANK2_RETURN_WATER}, // 药缸2回水
{3047, 0, STR_TANK2_HEAT}, // 药缸2加热
{3048, 0, STR_TANK2_STIRRER}, // 药缸2搅拌器
{3049, 0, STR_TANK2_STIR_VALVE}, // 药缸2搅拌阀
{3050, 0, STR_TANK2_FILL_VALVE}, // 药缸2加料阀
{3051, 0, STR_TANK2_BYPASS_VALVE}, // 药缸2比例旁通阀
{3052, 0, STR_TANK2_DRAIN_VALVE}, // 药缸2排水阀
{3053, 0, STR_TANK3_PUMP}, // 药缸3泵
{3054, 0, STR_TANK3_WATER_IN_1}, // 药缸3入水1
{3055, 0, STR_TANK3_WATER_IN_2}, // 药缸3入水2
{3056, 0, STR_TANK3_RETURN_WATER}, // 药缸3回水
{3057, 0, STR_TANK3_HEAT}, // 药缸3加热
{3058, 0, STR_TANK3_STIRRER}, // 药缸3搅拌器
{3059, 0, STR_TANK3_STIR_VALVE}, // 药缸3搅拌阀
{3060, 0, STR_TANK3_FILL_VALVE}, // 药缸3加料阀
{3061, 0, STR_TANK3_BYPASS_VALVE}, // 药缸3比例旁通阀
{3062, 0, STR_TANK3_DRAIN_VALVE}, // 药缸3排水阀
{3063, 0, STR_ROLL_REV_12}, // 布轮反转12
{3064, 0, STR_DRAIN_PUMP}, // 排水泵
{3065, 0, STR_HEAT_EXCHANGER_CONDENSATE}, // 热交换器冷凝水
{3066, 0, STR_HEAT_EXCHANGER_COOLING_WATER}, // 交换器排冷却水
{2067, 0, STR_NULL},
{2068, 0, STR_NULL},
{3031, 0, STR_TANK1_PUMP}, // 药缸1泵
{3032, 0, STR_TANK1_WATER_IN_1}, // 药缸1入水1
{3033, 0, STR_TANK1_WATER_IN_2}, // 药缸1入水2
{3034, 0, STR_TANK1_RETURN_WATER}, // 药缸1回水
{3035, 0, STR_TANK1_HEAT}, // 药缸1加热
{3036, 0, STR_TANK1_STIRRER}, // 药缸1搅拌器
{3037, 0, STR_TANK1_STIR_VALVE}, // 药缸1搅拌阀
{3038, 0, STR_TANK1_FILL_VALVE}, // 药缸1加料阀
{3039, 0, STR_TANK1_BYPASS_VALVE}, // 药缸1比例旁通阀
{3040, 0, STR_TANK1_DRAIN_VALVE}, // 药缸1排水阀
{3041, 0, STR_TANK2_PUMP}, // 药缸2泵
{3042, 0, STR_TANK2_WATER_IN_1}, // 药缸2入水1
{3043, 0, STR_TANK2_WATER_IN_2}, // 药缸2入水2
{3044, 0, STR_TANK2_RETURN_WATER}, // 药缸2回水
{3045, 0, STR_TANK2_HEAT}, // 药缸2加热
{3046, 0, STR_TANK2_STIRRER}, // 药缸2搅拌器
{3047, 0, STR_TANK2_STIR_VALVE}, // 药缸2搅拌阀
{3048, 0, STR_TANK2_FILL_VALVE}, // 药缸2加料阀
{3049, 0, STR_TANK2_BYPASS_VALVE}, // 药缸2比例旁通阀
{3050, 0, STR_TANK2_DRAIN_VALVE}, // 药缸2排水阀
{3051, 0, STR_DRAIN_PUMP}, // 排水泵
{3052, 0, STR_HEAT_EXCHANGER_CONDENSATE}, // 热交换器冷凝水
{3053, 0, STR_HEAT_EXCHANGER_COOLING_WATER}, // 交换器排冷却水
{2054, 0, STR_NULL},
{2055, 0, STR_NULL},
{2056, 0, STR_NULL},
{2057, 0, STR_NULL},
{2058, 0, STR_NULL},
{2059, 0, STR_NULL},
{2060, 0, STR_NULL},
{2061, 0, STR_NULL},
{2062, 0, STR_NULL},
{2063, 0, STR_NULL},
{2064, 0, STR_NULL}
};
//AIO状态表
@ -209,6 +182,8 @@ IO_State_AIO ai_table[] = {
{4020, 0, STR_AIO_FABRIC_CYCLE5},
{4021, 0, STR_AIO_FABRIC_CYCLE6},
{4022, 0, STR_AIO_PH},
{4023, 0, STR_NULL},
{4024, 0, STR_NULL}
};
// --- AO 输出(5001~5014)---
IO_State_AIO ao_table[] = {
@ -225,7 +200,9 @@ IO_State_AIO ao_table[] = {
{5011, 0, STR_AIO_LIFT3},
{5012, 0, STR_AIO_LIFT4},
{5013, 0, STR_AIO_LIFT5},
{5014, 0, STR_AIO_LIFT6}
{5014, 0, STR_AIO_LIFT6},
{5015, 0, STR_NULL},
{5016, 0, STR_NULL}
};
//步骤数据表最大99
IO_STEP_DATA step_table[99];

54
applications/lvgl/guider/generated/gui_guider.h

@ -84,14 +84,13 @@ typedef struct
lv_obj_t *screen_w_io_tab_2;
lv_obj_t *screen_w_io_tab_3;
lv_obj_t *screen_w_io_tab_4;
lv_obj_t *screen_di0;
lv_obj_t *screen_di1;
lv_obj_t *screen_di2;
lv_obj_t *screen_di3;
lv_obj_t *screen_di7;
lv_obj_t *screen_di4;
lv_obj_t *screen_di5;
lv_obj_t *screen_di6;
lv_obj_t *screen_di7;
lv_obj_t *screen_di8;
lv_obj_t *screen_di9;
lv_obj_t *screen_di10;
@ -105,7 +104,6 @@ typedef struct
lv_obj_t *screen_di18;
lv_obj_t *screen_di19;
lv_obj_t *screen_di20;
lv_obj_t *screen_di21;
lv_obj_t *screen_name_di0;
lv_obj_t *screen_name_di1;
lv_obj_t *screen_name_di2;
@ -118,6 +116,7 @@ typedef struct
lv_obj_t *screen_name_di9;
lv_obj_t *screen_name_di10;
lv_obj_t *screen_name_di11;
lv_obj_t *screen_di21;
lv_obj_t *screen_di22;
lv_obj_t *screen_di23;
lv_obj_t *screen_di24;
@ -161,29 +160,6 @@ typedef struct
lv_obj_t *screen_di62;
lv_obj_t *screen_di63;
lv_obj_t *screen_di64;
lv_obj_t *screen_di65;
lv_obj_t *screen_di66;
lv_obj_t *screen_di67;
lv_obj_t *screen_di68;
lv_obj_t *screen_di69;
lv_obj_t *screen_di70;
lv_obj_t *screen_di71;
lv_obj_t *screen_di72;
lv_obj_t *screen_di73;
lv_obj_t *screen_di74;
lv_obj_t *screen_di75;
lv_obj_t *screen_di76;
lv_obj_t *screen_di77;
lv_obj_t *screen_di78;
lv_obj_t *screen_di79;
lv_obj_t *screen_di80;
lv_obj_t *screen_di81;
lv_obj_t *screen_di82;
lv_obj_t *screen_di83;
lv_obj_t *screen_di84;
lv_obj_t *screen_di85;
lv_obj_t *screen_di86;
lv_obj_t *screen_di87;
lv_obj_t *screen_name_di12;
lv_obj_t *screen_name_di13;
lv_obj_t *screen_name_di14;
@ -236,30 +212,6 @@ typedef struct
lv_obj_t *screen_name_di61;
lv_obj_t *screen_name_di62;
lv_obj_t *screen_name_di63;
lv_obj_t *screen_name_di64;
lv_obj_t *screen_name_di65;
lv_obj_t *screen_name_di66;
lv_obj_t *screen_name_di67;
lv_obj_t *screen_name_di68;
lv_obj_t *screen_name_di69;
lv_obj_t *screen_name_di70;
lv_obj_t *screen_name_di71;
lv_obj_t *screen_name_di72;
lv_obj_t *screen_name_di73;
lv_obj_t *screen_name_di74;
lv_obj_t *screen_name_di75;
lv_obj_t *screen_name_di76;
lv_obj_t *screen_name_di77;
lv_obj_t *screen_name_di78;
lv_obj_t *screen_name_di79;
lv_obj_t *screen_name_di80;
lv_obj_t *screen_name_di81;
lv_obj_t *screen_name_di82;
lv_obj_t *screen_name_di83;
lv_obj_t *screen_name_di84;
lv_obj_t *screen_name_di85;
lv_obj_t *screen_name_di86;
lv_obj_t *screen_name_di87;
lv_obj_t *screen_do0;
lv_obj_t *screen_do1;
lv_obj_t *screen_do2;
@ -336,7 +288,7 @@ typedef struct
lv_obj_t *screen_name_do6;
lv_obj_t *screen_name_do7;
lv_obj_t *screen_name_do8;
lv_obj_t *screen_name_do09;
lv_obj_t *screen_name_do9;
lv_obj_t *screen_name_do10;
lv_obj_t *screen_name_do11;
lv_obj_t *screen_name_do12;

1206
applications/lvgl/guider/generated/guider_fonts/lv_font_simsun_14.c

File diff suppressed because it is too large

1410
applications/lvgl/guider/generated/setup_scr_screen.c

File diff suppressed because it is too large

219
applications/lvgl/lv__user_gui.c

@ -29,100 +29,77 @@
#define LCD_RST_PIN GET_PIN(D,11)
// 全局或静态数组
lv_obj_t * di_led_array[88];
lv_obj_t * di_name_array[88];
lv_obj_t * do_led_array[67];
lv_obj_t * do_name_array[67];
lv_obj_t * di_led_array[64];
lv_obj_t * di_name_array[64];
lv_obj_t * do_led_array[64];
lv_obj_t * do_name_array[64];
void ui_init_dio_leds(lv_ui *ui) {
di_led_array[0] = ui->screen_di0;
di_led_array[1] = ui->screen_di1;
di_led_array[2] = ui->screen_di2;
di_led_array[3] = ui->screen_di3;
di_led_array[4] = ui->screen_di4;
di_led_array[5] = ui->screen_di5;
di_led_array[6] = ui->screen_di6;
di_led_array[7] = ui->screen_di7;
di_led_array[8] = ui->screen_di8;
di_led_array[9] = ui->screen_di9;
di_led_array[10] = ui->screen_di10;
di_led_array[11] = ui->screen_di11;
di_led_array[12] = ui->screen_di12;
di_led_array[13] = ui->screen_di13;
di_led_array[14] = ui->screen_di14;
di_led_array[15] = ui->screen_di15;
di_led_array[16] = ui->screen_di16;
di_led_array[17] = ui->screen_di17;
di_led_array[18] = ui->screen_di18;
di_led_array[19] = ui->screen_di19;
di_led_array[20] = ui->screen_di20;
di_led_array[21] = ui->screen_di21;
di_led_array[22] = ui->screen_di22;
di_led_array[23] = ui->screen_di23;
di_led_array[24] = ui->screen_di24;
di_led_array[25] = ui->screen_di25;
di_led_array[26] = ui->screen_di26;
di_led_array[27] = ui->screen_di27;
di_led_array[28] = ui->screen_di28;
di_led_array[29] = ui->screen_di29;
di_led_array[30] = ui->screen_di30;
di_led_array[31] = ui->screen_di31;
di_led_array[32] = ui->screen_di32;
di_led_array[33] = ui->screen_di33;
di_led_array[34] = ui->screen_di34;
di_led_array[35] = ui->screen_di35;
di_led_array[36] = ui->screen_di36;
di_led_array[37] = ui->screen_di37;
di_led_array[38] = ui->screen_di38;
di_led_array[39] = ui->screen_di39;
di_led_array[40] = ui->screen_di40;
di_led_array[41] = ui->screen_di41;
di_led_array[42] = ui->screen_di42;
di_led_array[43] = ui->screen_di43;
di_led_array[44] = ui->screen_di44;
di_led_array[45] = ui->screen_di45;
di_led_array[46] = ui->screen_di46;
di_led_array[47] = ui->screen_di47;
di_led_array[48] = ui->screen_di48;
di_led_array[49] = ui->screen_di49;
di_led_array[50] = ui->screen_di50;
di_led_array[51] = ui->screen_di51;
di_led_array[52] = ui->screen_di52;
di_led_array[53] = ui->screen_di53;
di_led_array[54] = ui->screen_di54;
di_led_array[55] = ui->screen_di55;
di_led_array[56] = ui->screen_di56;
di_led_array[57] = ui->screen_di57;
di_led_array[58] = ui->screen_di58;
di_led_array[59] = ui->screen_di59;
di_led_array[60] = ui->screen_di60;
di_led_array[61] = ui->screen_di61;
di_led_array[62] = ui->screen_di62;
di_led_array[63] = ui->screen_di63;
di_led_array[64] = ui->screen_di64;
di_led_array[65] = ui->screen_di65;
di_led_array[66] = ui->screen_di66;
di_led_array[67] = ui->screen_di67;
di_led_array[68] = ui->screen_di68;
di_led_array[69] = ui->screen_di69;
di_led_array[70] = ui->screen_di70;
di_led_array[71] = ui->screen_di71;
di_led_array[72] = ui->screen_di72;
di_led_array[73] = ui->screen_di73;
di_led_array[74] = ui->screen_di74;
di_led_array[75] = ui->screen_di75;
di_led_array[76] = ui->screen_di76;
di_led_array[77] = ui->screen_di77;
di_led_array[78] = ui->screen_di78;
di_led_array[79] = ui->screen_di79;
di_led_array[80] = ui->screen_di80;
di_led_array[81] = ui->screen_di81;
di_led_array[82] = ui->screen_di82;
di_led_array[83] = ui->screen_di83;
di_led_array[84] = ui->screen_di84;
di_led_array[85] = ui->screen_di85;
di_led_array[86] = ui->screen_di86;
di_led_array[87] = ui->screen_di87;
di_name_array[0] = ui->screen_name_di0;
di_led_array[0] = ui->screen_di1;
di_led_array[1] = ui->screen_di2;
di_led_array[2] = ui->screen_di3;
di_led_array[3] = ui->screen_di4;
di_led_array[4] = ui->screen_di5;
di_led_array[5] = ui->screen_di6;
di_led_array[6] = ui->screen_di7;
di_led_array[7] = ui->screen_di8;
di_led_array[8] = ui->screen_di9;
di_led_array[9] = ui->screen_di10;
di_led_array[10] = ui->screen_di11;
di_led_array[11] = ui->screen_di12;
di_led_array[12] = ui->screen_di13;
di_led_array[13] = ui->screen_di14;
di_led_array[14] = ui->screen_di15;
di_led_array[15] = ui->screen_di16;
di_led_array[16] = ui->screen_di17;
di_led_array[17] = ui->screen_di18;
di_led_array[18] = ui->screen_di19;
di_led_array[19] = ui->screen_di20;
di_led_array[20] = ui->screen_di21;
di_led_array[21] = ui->screen_di22;
di_led_array[22] = ui->screen_di23;
di_led_array[23] = ui->screen_di24;
di_led_array[24] = ui->screen_di25;
di_led_array[25] = ui->screen_di26;
di_led_array[26] = ui->screen_di27;
di_led_array[27] = ui->screen_di28;
di_led_array[28] = ui->screen_di29;
di_led_array[29] = ui->screen_di30;
di_led_array[30] = ui->screen_di31;
di_led_array[31] = ui->screen_di32;
di_led_array[32] = ui->screen_di33;
di_led_array[33] = ui->screen_di34;
di_led_array[34] = ui->screen_di35;
di_led_array[35] = ui->screen_di36;
di_led_array[36] = ui->screen_di37;
di_led_array[37] = ui->screen_di38;
di_led_array[38] = ui->screen_di39;
di_led_array[39] = ui->screen_di40;
di_led_array[40] = ui->screen_di41;
di_led_array[41] = ui->screen_di42;
di_led_array[42] = ui->screen_di43;
di_led_array[43] = ui->screen_di44;
di_led_array[44] = ui->screen_di45;
di_led_array[45] = ui->screen_di46;
di_led_array[46] = ui->screen_di47;
di_led_array[47] = ui->screen_di48;
di_led_array[48] = ui->screen_di49;
di_led_array[49] = ui->screen_di50;
di_led_array[50] = ui->screen_di51;
di_led_array[51] = ui->screen_di52;
di_led_array[52] = ui->screen_di53;
di_led_array[53] = ui->screen_di54;
di_led_array[54] = ui->screen_di55;
di_led_array[55] = ui->screen_di56;
di_led_array[56] = ui->screen_di57;
di_led_array[57] = ui->screen_di58;
di_led_array[58] = ui->screen_di59;
di_led_array[59] = ui->screen_di60;
di_led_array[60] = ui->screen_di61;
di_led_array[61] = ui->screen_di62;
di_led_array[62] = ui->screen_di63;
di_led_array[63] = ui->screen_di64;
/*di_name_array[0] = ui->screen_name_di0;
di_name_array[1] = ui->screen_name_di1;
di_name_array[2] = ui->screen_name_di2;
di_name_array[3] = ui->screen_name_di3;
@ -185,31 +162,8 @@ void ui_init_dio_leds(lv_ui *ui) {
di_name_array[60] = ui->screen_name_di60;
di_name_array[61] = ui->screen_name_di61;
di_name_array[62] = ui->screen_name_di62;
di_name_array[63] = ui->screen_name_di63;
di_name_array[64] = ui->screen_name_di64;
di_name_array[65] = ui->screen_name_di65;
di_name_array[66] = ui->screen_name_di66;
di_name_array[67] = ui->screen_name_di67;
di_name_array[68] = ui->screen_name_di68;
di_name_array[69] = ui->screen_name_di69;
di_name_array[70] = ui->screen_name_di70;
di_name_array[71] = ui->screen_name_di71;
di_name_array[72] = ui->screen_name_di72;
di_name_array[73] = ui->screen_name_di73;
di_name_array[74] = ui->screen_name_di74;
di_name_array[75] = ui->screen_name_di75;
di_name_array[76] = ui->screen_name_di76;
di_name_array[77] = ui->screen_name_di77;
di_name_array[78] = ui->screen_name_di78;
di_name_array[79] = ui->screen_name_di79;
di_name_array[80] = ui->screen_name_di80;
di_name_array[81] = ui->screen_name_di81;
di_name_array[82] = ui->screen_name_di82;
di_name_array[83] = ui->screen_name_di83;
di_name_array[84] = ui->screen_name_di84;
di_name_array[85] = ui->screen_name_di85;
di_name_array[86] = ui->screen_name_di86;
di_name_array[87] = ui->screen_name_di87;
di_name_array[63] = ui->screen_name_di63;*/
//
do_led_array[0] = ui->screen_do0;
do_led_array[1] = ui->screen_do1;
@ -275,10 +229,8 @@ void ui_init_dio_leds(lv_ui *ui) {
do_led_array[61] = ui->screen_do61;
do_led_array[62] = ui->screen_do62;
do_led_array[63] = ui->screen_do63;
do_led_array[64] = ui->screen_do64;
do_led_array[65] = ui->screen_do65;
do_led_array[66] = ui->screen_do66;
do_name_array[0] = ui->screen_name_do0;
/*do_name_array[0] = ui->screen_name_do0;
do_name_array[1] = ui->screen_name_do1;
do_name_array[2] = ui->screen_name_do2;
do_name_array[3] = ui->screen_name_do3;
@ -287,7 +239,7 @@ void ui_init_dio_leds(lv_ui *ui) {
do_name_array[6] = ui->screen_name_do6;
do_name_array[7] = ui->screen_name_do7;
do_name_array[8] = ui->screen_name_do8;
do_name_array[9] = ui->screen_name_do09;
do_name_array[9] = ui->screen_name_do9;
do_name_array[10] = ui->screen_name_do10;
do_name_array[11] = ui->screen_name_do11;
do_name_array[12] = ui->screen_name_do12;
@ -341,10 +293,7 @@ void ui_init_dio_leds(lv_ui *ui) {
do_name_array[60] = ui->screen_name_do60;
do_name_array[61] = ui->screen_name_do61;
do_name_array[62] = ui->screen_name_do62;
do_name_array[63] = ui->screen_name_do63;
do_name_array[64] = ui->screen_name_do64;
do_name_array[65] = ui->screen_name_do65;
do_name_array[66] = ui->screen_name_do66;
do_name_array[63] = ui->screen_name_do63;*/
}
@ -356,20 +305,6 @@ void setup_user_screen(lv_ui *ui)
lv_textarea_set_text(ui->screen_machine_name, machine_name);//设备名
//lv_label_set_text(di_name_array[0], lang_get_str(0));
//lv_label_set_text(di_name_array[i], lang_get_str(di_table[i].name));
//lv_label_set_text(di_name_array[i], lang_get_str(di_table[i].name));
for (int i = 0; i < DI_TABLE_SIZE; i++)
{
//lv_label_set_text(di_name_array[i], lang_get_str(di_table[i].name));
}
for (int i = 0; i < DO_TABLE_SIZE; i++)
{
//lv_label_set_text(do_name_array[i], lang_get_str(do_table[i].name));
}
}
time_t nows;
@ -440,5 +375,5 @@ void lv_user_gui_init(void)
ui_init_dio_leds(&guider_ui);
// 创建一个每 500ms 触发一次的定时器
lv_timer_create(time_update_timer_cb, 500, NULL);
lv_timer_create(time_update_timer_cb, 900, NULL);
}

2
applications/lvgl/lv_port_disp.c

@ -171,7 +171,7 @@ void lv_port_disp_init(void)
disp_drv.flush_cb = disp_flush;
/*Set a display buffer*/
disp_drv.draw_buf = &draw_buf_dsc_2;
disp_drv.draw_buf = &draw_buf_dsc_3;
/*Required for Example 3)*/
//disp_drv.full_refresh = 1;

1
applications/main.c

@ -18,7 +18,6 @@
#include <rtdbg.h>
extern rt_sem_t mount_sem; // 引用上面SD挂载线程定义的信号量
extern struct rt_memheap sram_DTCMRAM,sram_AXIRAM,sram_SRAM1,sram_SRAM2;
int main(void)
{

1
cubemx/Inc/stm32h7xx_it.h

@ -57,6 +57,7 @@ void PendSV_Handler(void);
void SysTick_Handler(void);
void SDMMC1_IRQHandler(void);
void LTDC_IRQHandler(void);
void DMA2D_IRQHandler(void);
void QUADSPI_IRQHandler(void);
void OTG_FS_EP1_OUT_IRQHandler(void);
void OTG_FS_EP1_IN_IRQHandler(void);

4
cubemx/Src/main.c

@ -256,10 +256,10 @@ static void MX_DMA2D_Init(void)
/* USER CODE END DMA2D_Init 1 */
hdma2d.Instance = DMA2D;
hdma2d.Init.Mode = DMA2D_M2M;
hdma2d.Init.ColorMode = DMA2D_OUTPUT_RGB888;
hdma2d.Init.ColorMode = DMA2D_OUTPUT_RGB565;
hdma2d.Init.OutputOffset = 0;
hdma2d.LayerCfg[1].InputOffset = 0;
hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_RGB888;
hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_RGB565;
hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
hdma2d.LayerCfg[1].InputAlpha = 0;
hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;

15
cubemx/Src/stm32h7xx_it.c

@ -55,6 +55,7 @@
/* USER CODE END 0 */
/* External variables --------------------------------------------------------*/
extern DMA2D_HandleTypeDef hdma2d;
extern LTDC_HandleTypeDef hltdc;
extern QSPI_HandleTypeDef hqspi;
extern SD_HandleTypeDef hsd1;
@ -229,6 +230,20 @@ void LTDC_IRQHandler(void)
/* USER CODE END LTDC_IRQn 1 */
}
/**
* @brief This function handles DMA2D global interrupt.
*/
void DMA2D_IRQHandler(void)
{
/* USER CODE BEGIN DMA2D_IRQn 0 */
/* USER CODE END DMA2D_IRQn 0 */
HAL_DMA2D_IRQHandler(&hdma2d);
/* USER CODE BEGIN DMA2D_IRQn 1 */
/* USER CODE END DMA2D_IRQn 1 */
}
/**
* @brief This function handles QUADSPI global interrupt.
*/

3
cubemx/cubemx.ioc

@ -20,7 +20,7 @@ CORTEX_M7.MPU_Control=MPU_HFNMI_PRIVDEF
CORTEX_M7.Size_Spec=MPU_REGION_SIZE_512KB
CORTEX_M7.SubRegionDisable_Spec=0x0
CORTEX_M7.default_mode_Activation=1
DMA2D.ColorMode=DMA2D_OUTPUT_RGB888
DMA2D.ColorMode=DMA2D_OUTPUT_RGB565
DMA2D.IPParameters=ColorMode
FMC.CASLatency1=FMC_SDRAM_CAS_LATENCY_2
FMC.ColumnBitsNumber1=FMC_SDRAM_COLUMN_BITS_NUM_9
@ -177,6 +177,7 @@ Mcu.UserName=STM32H743IITx
MxCube.Version=6.15.0
MxDb.Version=DB.6.0.150
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.DMA2D_IRQn=true\:0\:0\:false\:false\:true\:true\:true\:true
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false
NVIC.ForceEnableDMAVector=true
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false\:false

2
drivers/ltdc.c

@ -458,7 +458,7 @@ int ltdc_init(void)
lcdltdc.pwidth = 1024; lcdltdc.pheight = 600;
lcdltdc.hsw = 20; lcdltdc.hbp = 160; lcdltdc.hfp = 160;
lcdltdc.vsw = 3; lcdltdc.vbp = 23; lcdltdc.vfp = 12;
ltdc_clk_set(128, 32, 6);
ltdc_clk_set(128, 32, 8);
}
else if (lcdid == 0X7018)
{

Loading…
Cancel
Save