|
@@ -466,139 +466,27 @@ void Test_Serno(void)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
-// -------------------------------------------------------------------------- //
|
|
|
|
|
|
|
|
|
|
-/*
|
|
|
|
|
- 1 - PE2 - не используется
|
|
|
|
|
- 2 - PE3 - не проверяем, не используется
|
|
|
|
|
- 3 - PE4 - не проверяем, не используется
|
|
|
|
|
- 4 - PE5 - не проверяем, не используется
|
|
|
|
|
-5 - PE6 - проверять с 4 - OK
|
|
|
|
|
- 6 - VBAT - не проверяем
|
|
|
|
|
- 7 - PC13 - не проверяем, не используется
|
|
|
|
|
- 8 - OSC_IN - не проверяем
|
|
|
|
|
- 9 - OSC_OUT - не проверяем
|
|
|
|
|
- 10 - VSS - не проверяем
|
|
|
|
|
- 11 - VDD - не проверяем
|
|
|
|
|
- 12 - OSC_IN - не проверяем
|
|
|
|
|
- 13 - OSC_OUT - не проверяем, не используется
|
|
|
|
|
- 14 - PE3 - NRST - не проверяем
|
|
|
|
|
- 15 - PC0 - не проверяем, не используется
|
|
|
|
|
- 16 - PC1 - не проверяем ethernet phy
|
|
|
|
|
- 17 - PC0 - не проверяем, не используется
|
|
|
|
|
- 18 - PC0 - не проверяем, не используется
|
|
|
|
|
- 19 - VDD - не проверяем
|
|
|
|
|
- 20 - VSSA - не проверяем
|
|
|
|
|
- 21 - VREF - не проверяем
|
|
|
|
|
- 22 - VDDA - не проверяем
|
|
|
|
|
- 23 - PA0 - проверяем с 22 (КЗ с +), не получается
|
|
|
|
|
- 24 - PA1 - не проверяем ethernet phy
|
|
|
|
|
- 25 - PA2 - не проверяем ethernet phy
|
|
|
|
|
-26 - PA3 - проверяем с 27 (КЗ с -), не получается
|
|
|
|
|
- 27 - VSS - не проверяем
|
|
|
|
|
- 28 - VDD - не проверяем
|
|
|
|
|
- 29 - PA4 - не проверяем, не получается
|
|
|
|
|
- 30 - PA5 - не проверяем, не получается
|
|
|
|
|
- 31 - PA6 - не проверяем, не используется
|
|
|
|
|
- 32 - PA7 - не проверяем ethernet phy
|
|
|
|
|
- 33 - PС4 - не проверяем ethernet phy
|
|
|
|
|
- 34 - PС5 - не проверяем ethernet phy
|
|
|
|
|
- 35 - PB0 - не проверяем, не используется
|
|
|
|
|
- 36 - PB1 - не проверяем, не используется
|
|
|
|
|
- 37 - PB2 - BOOT1 - не проверяем
|
|
|
|
|
- 38 - PE7 - не проверяем, там всегда +
|
|
|
|
|
- 39 - PE8 - не проверяем, не используется
|
|
|
|
|
- 40 - PE9 - не проверяем, не используется
|
|
|
|
|
- 41 - PE10 - не проверяем, не используется
|
|
|
|
|
- 42 - PE11 - не проверяем, не получится
|
|
|
|
|
- 43 - PE12 - не проверяем, не получится
|
|
|
|
|
- 44 - PE13 - не проверяем ethernet phy
|
|
|
|
|
- 45 - PE14 - не проверяем, не используется
|
|
|
|
|
-46 - PE15 - проверяем с 47 - OK
|
|
|
|
|
-47 - PB10 - проверяем с 46 - OK
|
|
|
|
|
- 48 - PB11 - не проверяем ethernet phy
|
|
|
|
|
- 49 - Vcap1 - не проверяем
|
|
|
|
|
- 50 - VDD - не проверяем
|
|
|
|
|
- 51 - PB12 - не проверяем ethernet phy
|
|
|
|
|
- 52 - PB13 - не проверяем ethernet phy
|
|
|
|
|
- 53 - PB14 - проверяем с 54 (но 53 должен быть только входом) Но не получилось!
|
|
|
|
|
- 54 - PB15 - проверяем с 53 (54 - как вход) Но не получилось!
|
|
|
|
|
- 55 - PD8 - не проверяем, не используется
|
|
|
|
|
- 56 - PD9 - не проверяем, не используется
|
|
|
|
|
- 57 - PD10 - не проверяем, не используется
|
|
|
|
|
- 58 - PD11 - не проверяем, не используется
|
|
|
|
|
- 59 - PD12 - не проверяем, не используется
|
|
|
|
|
- 60 - PD13 - не проверяем, не используется
|
|
|
|
|
- 61 - PD14 - не проверяем
|
|
|
|
|
- 62 - PD15 - не проверяем
|
|
|
|
|
- 63 - PС6 - не проверяем, не используется
|
|
|
|
|
- 64 - PC7 - не проверяем, не используется
|
|
|
|
|
- 65 - PC8 - не проверяем, не используется
|
|
|
|
|
- 66 - PC9 - не проверяем, не используется
|
|
|
|
|
- 67 - PA8 - не проверяем, не используется
|
|
|
|
|
- 68 - PA9 - не проверяем, это DEBUG UART
|
|
|
|
|
- 69 - PA10 - не проверяем, это DEBUG UART
|
|
|
|
|
- 70 - PA11 - не проверяем, не используется
|
|
|
|
|
- 71 - PA12 - не проверяем, не используется
|
|
|
|
|
- 72 - PA13 - SWDIO - не проверяем
|
|
|
|
|
- 73 - Vcap2 - не проверяем
|
|
|
|
|
- 74 - VSS - не проверяем
|
|
|
|
|
- 75 - VDD - не проверяем
|
|
|
|
|
- 76 - PA14 - SWCLK - не проверяем
|
|
|
|
|
- 77 - PA15 - не проверяем, не используется
|
|
|
|
|
- 78 - PC10 - не проверяем, не используется
|
|
|
|
|
- 79 - PC11 - не проверяем, не используется
|
|
|
|
|
- 80 - PC12 - не проверяем, не используется
|
|
|
|
|
- 81 - PD0 - не проверяем, не используется
|
|
|
|
|
- 82 - PD1 - не проверяем, не используется
|
|
|
|
|
- 83 - PD2 - не проверяем, не используется
|
|
|
|
|
- 84 - PD3 - не проверяем, не используется
|
|
|
|
|
- 85 - PD4 - не проверяем, не используется
|
|
|
|
|
-86 - PD5 - не проверяем с 87, т.к. пины замкнуты на тестере
|
|
|
|
|
-87 - PD6 - не проверяем с 86, т.е. пины запкнуты на тестере
|
|
|
|
|
- 88 - PD7 - не проверяем, не используется
|
|
|
|
|
-89 - PB3 - проверяем с 90
|
|
|
|
|
-90 - PB4 - проверяем с 89, проверяем с 91
|
|
|
|
|
-91 - PB5 - проверяем c 90, проверяем с 92
|
|
|
|
|
-92 - PB6 - проверяем с 91
|
|
|
|
|
- 93 - PB7 - не проверяем, не используется
|
|
|
|
|
- 94 - BOOT0 - не проверяем
|
|
|
|
|
- 95 - PB8 - не проверяем, не используется
|
|
|
|
|
- 96 - PB9 - не проверям, т.к. соседние пины не используются
|
|
|
|
|
- 97 - PE0 - не проверяем, не используется
|
|
|
|
|
- 98 - PE1 - не проверяем, не используется
|
|
|
|
|
- 99 - VSS - не проверяем
|
|
|
|
|
- 100 - VDD - не проверяем
|
|
|
|
|
-*/
|
|
|
|
|
-
|
|
|
|
|
-#define PAIR_PINS_SIZE 1
|
|
|
|
|
|
|
+
|
|
|
|
|
+#define PAIR_PINS_SIZE 14
|
|
|
|
|
|
|
|
pair_pin_t pins_with_pair[PAIR_PINS_SIZE] = {
|
|
pair_pin_t pins_with_pair[PAIR_PINS_SIZE] = {
|
|
|
- {GPIOA, GPIO_Pin_0, 23, GPIOA, GPIO_Pin_1, 24}, /* 8 */ // 23, 24 -
|
|
|
|
|
-
|
|
|
|
|
-#if 0
|
|
|
|
|
- {GPIOE, GPIO_Pin_6, 5, GPIOE, GPIO_Pin_5, 4}, /* 1 */ // 5, 4 // проверить уровень на PE5 - OK
|
|
|
|
|
- {GPIOE, GPIO_Pin_15, 46, GPIOB, GPIO_Pin_10, 47}, /* 2 */ // 46, 47 - OK
|
|
|
|
|
- {GPIOB, GPIO_Pin_3, 89, GPIOB, GPIO_Pin_4, 90}, /* 3 */ // 89, 90 - OK
|
|
|
|
|
- {GPIOB, GPIO_Pin_4, 90, GPIOB, GPIO_Pin_5, 91}, /* 4 */ // 90, 91 - OK
|
|
|
|
|
- {GPIOB, GPIO_Pin_5, 91, GPIOB, GPIO_Pin_6, 92}, /* 5 */ // 91, 92 - OK
|
|
|
|
|
- // Ethernet pins, SPI pins
|
|
|
|
|
- {GPIOC, GPIO_Pin_0, 15, GPIOC, GPIO_Pin_1, 16}, /* 6 */ // 15, 16 -
|
|
|
|
|
- {GPIOC, GPIO_Pin_2, 17, GPIOC, GPIO_Pin_1, 16}, /* 7 */ // 17, 16 -
|
|
|
|
|
- {GPIOA, GPIO_Pin_0, 23, GPIOA, GPIO_Pin_1, 24}, /* 8 */ // 23, 24 -
|
|
|
|
|
- {GPIOA, GPIO_Pin_1, 24, GPIOA, GPIO_Pin_2, 25}, /* 9 */ // 24, 25 -
|
|
|
|
|
- {GPIOA, GPIO_Pin_6, 31, GPIOA, GPIO_Pin_7, 32}, /* 10 */ // 31, 32 -
|
|
|
|
|
- {GPIOA, GPIO_Pin_7, 31, GPIOC, GPIO_Pin_4, 33}, /* 11 */ // 32, 33 -
|
|
|
|
|
- {GPIOC, GPIO_Pin_4, 33, GPIOC, GPIO_Pin_5, 34}, /* 12 */ // 33, 34 -
|
|
|
|
|
- {GPIOC, GPIO_Pin_5, 34, GPIOB, GPIO_Pin_0, 35}, /* 13 */ // 34, 35 -
|
|
|
|
|
- {GPIOB, GPIO_Pin_10, 47, GPIOB, GPIO_Pin_11, 48}, /* 14 */ // 47, 48 -
|
|
|
|
|
- {GPIOB, GPIO_Pin_12, 51, GPIOB, GPIO_Pin_13, 52}, /* 15 */ // 51, 52 -
|
|
|
|
|
- {GPIOB, GPIO_Pin_13, 52, GPIOB, GPIO_Pin_14, 53}, /* 16 */ // 52, 53 -
|
|
|
|
|
- {GPIOB, GPIO_Pin_14, 53, GPIOB, GPIO_Pin_15, 54}, /* 17 */ // 53, 54 -
|
|
|
|
|
-#endif
|
|
|
|
|
|
|
+ {GPIOE, GPIO_Pin_6, 5, GPIOE, GPIO_Pin_5, 4}, /* 1 */ // 5, 4
|
|
|
|
|
+ {GPIOE, GPIO_Pin_15, 46, GPIOB, GPIO_Pin_10, 47}, /* 2 */ // 46, 47
|
|
|
|
|
+ {GPIOB, GPIO_Pin_3, 89, GPIOB, GPIO_Pin_4, 90}, /* 3 */ // 89, 90
|
|
|
|
|
+ {GPIOB, GPIO_Pin_4, 90, GPIOB, GPIO_Pin_5, 91}, /* 4 */ // 90, 91
|
|
|
|
|
+ {GPIOB, GPIO_Pin_5, 91, GPIOB, GPIO_Pin_6, 92}, /* 5 */ // 91, 92
|
|
|
|
|
+ {GPIOC, GPIO_Pin_0, 15, GPIOC, GPIO_Pin_1, 16}, /* 6 */ // 15, 16
|
|
|
|
|
+ {GPIOC, GPIO_Pin_1, 16, GPIOC, GPIO_Pin_2, 17}, /* 7 */ // 16, 17
|
|
|
|
|
+ {GPIOA, GPIO_Pin_1, 24, GPIOA, GPIO_Pin_0, 23}, /* 8 */ // 23, 24
|
|
|
|
|
+ {GPIOA, GPIO_Pin_1, 24, GPIOA, GPIO_Pin_2, 25}, /* 9 */ // 24, 25
|
|
|
|
|
+ {GPIOA, GPIO_Pin_5, 30, GPIOA, GPIO_Pin_6, 31}, /* 10 */ // 30, 31
|
|
|
|
|
+ {GPIOA, GPIO_Pin_6, 31, GPIOA, GPIO_Pin_7, 32}, /* 11 */ // 31, 32
|
|
|
|
|
+ {GPIOC, GPIO_Pin_5, 34, GPIOB, GPIO_Pin_0, 35}, /* 12 */ // 34, 35
|
|
|
|
|
+ {GPIOE, GPIO_Pin_12, 43, GPIOE, GPIO_Pin_13, 44}, /* 13 */ // 43, 44
|
|
|
|
|
+ {GPIOB, GPIO_Pin_12, 51, GPIOB, GPIO_Pin_13, 52}, /* 14 */ // 51, 52
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
-
|
|
|
|
|
uint8_t pair_pin_resut[PAIR_PINS_SIZE];
|
|
uint8_t pair_pin_resut[PAIR_PINS_SIZE];
|
|
|
|
|
|
|
|
// ------------------------------------------------------------------------ //
|
|
// ------------------------------------------------------------------------ //
|
|
@@ -637,12 +525,12 @@ static bool test_pair_pins(pair_pin_t *pins)
|
|
|
set_pin_as_input(pins[i].second_port, pins[i].second_pin);
|
|
set_pin_as_input(pins[i].second_port, pins[i].second_pin);
|
|
|
|
|
|
|
|
GPIO_SetBits(pins[i].first_port, pins[i].first_pin);
|
|
GPIO_SetBits(pins[i].first_port, pins[i].first_pin);
|
|
|
- vTaskDelay(1);
|
|
|
|
|
|
|
+ vTaskDelay(10);
|
|
|
|
|
|
|
|
res_1 = GPIO_ReadInputDataBit(pins[i].second_port, pins[i].second_pin);
|
|
res_1 = GPIO_ReadInputDataBit(pins[i].second_port, pins[i].second_pin);
|
|
|
|
|
|
|
|
GPIO_ResetBits(pins[i].first_port, pins[i].first_pin);
|
|
GPIO_ResetBits(pins[i].first_port, pins[i].first_pin);
|
|
|
- vTaskDelay(1);
|
|
|
|
|
|
|
+ vTaskDelay(10);
|
|
|
|
|
|
|
|
res_2 = GPIO_ReadInputDataBit(pins[i].second_port, pins[i].second_pin);
|
|
res_2 = GPIO_ReadInputDataBit(pins[i].second_port, pins[i].second_pin);
|
|
|
|
|
|
|
@@ -653,26 +541,9 @@ static bool test_pair_pins(pair_pin_t *pins)
|
|
|
else
|
|
else
|
|
|
pair_pin_resut[i] = 0;
|
|
pair_pin_resut[i] = 0;
|
|
|
|
|
|
|
|
-
|
|
|
|
|
set_pin_as_input(pins[i].first_port, pins[i].first_pin);
|
|
set_pin_as_input(pins[i].first_port, pins[i].first_pin);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-#if 0
|
|
|
|
|
- // Вывод результата
|
|
|
|
|
- printf("Pair pin result:\r\n");
|
|
|
|
|
- for (int i = 0; i < PAIR_PINS_SIZE; i++) {
|
|
|
|
|
- printf("%u ", pair_pin_resut[i]);
|
|
|
|
|
- }
|
|
|
|
|
- printf("\r\n");
|
|
|
|
|
-#endif
|
|
|
|
|
-
|
|
|
|
|
-#if 0
|
|
|
|
|
- for (int i = 0; i < PAIR_PINS_SIZE; i++)
|
|
|
|
|
- {
|
|
|
|
|
- pair_pin_resut[i] = 1;
|
|
|
|
|
- }
|
|
|
|
|
-#endif
|
|
|
|
|
-
|
|
|
|
|
test_pin_print_result(pins, pair_pin_resut);
|
|
test_pin_print_result(pins, pair_pin_resut);
|
|
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
@@ -707,10 +578,8 @@ static void set_pin_as_input(GPIO_TypeDef *port, uint8_t pin)
|
|
|
//
|
|
//
|
|
|
static void test_pin_print_result(pair_pin_t *pins, uint8_t *res)
|
|
static void test_pin_print_result(pair_pin_t *pins, uint8_t *res)
|
|
|
{
|
|
{
|
|
|
- for (int i = 0; i < PAIR_PINS_SIZE; i++)
|
|
|
|
|
- {
|
|
|
|
|
- if (res[i] != 0)
|
|
|
|
|
- {
|
|
|
|
|
|
|
+ for (int i = 0; i < PAIR_PINS_SIZE; i++) {
|
|
|
|
|
+ if (res[i] != 0) {
|
|
|
printf("Short circuit between pins:\r\n");
|
|
printf("Short circuit between pins:\r\n");
|
|
|
printf("\t%u %u\r\n", pins[i].first_pin_num, pins[i].second_pin_num);
|
|
printf("\t%u %u\r\n", pins[i].first_pin_num, pins[i].second_pin_num);
|
|
|
}
|
|
}
|