1 | int GPIO_config(void)
|
2 | { //__GPIOB_CLK_ENABLE();
|
3 |
|
4 | GPIOD -> MODER |= (1<<0); // Set pin 0 (DisCon_Heater) to be general purpose output in GPIO port mode register
|
5 | GPIOD -> MODER |= (1<<2); // Set pin 1 (DisCon_Cell) to be general purpose output in GPIO port mode register
|
6 | GPIOD -> MODER |= (1<<4); // Set pin 2 (Enable_U12) to be general purpose output in GPIO port mode register
|
7 |
|
8 | //GPIOD -> MODER |= (1<<24); // Set pin 12 (orange LED) to be general purpose output in GPIO port mode register
|
9 | GPIOD -> MODER |= (1<<26); // Set pin 13 (green LED)to be general purpose output in GPIO port mode register
|
10 | //GPIOD -> MODER |= (1<<28); // Set pin 14 (orange LED)to be general purpose output in GPIO port mode register
|
11 | //GPIOD -> MODER |= (1<<30); // Set pin 15 (orange LED)to be general purpose output in GPIO port mode register
|
12 |
|
13 | // Configuration PORT D as Output
|
14 | GPIO_InitTypeDef GPIO_InitStruct; //Where GPIO_InitDef is variable to work with struct
|
15 | GPIO_InitStruct.Pin = GPIO_PIN_15;
|
16 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
17 | GPIO_InitStruct.Pull = GPIO_NOPULL;
|
18 | GPIO_InitStruct.Speed = GPIO_SPEED_HIGH;
|
19 | HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);
|
20 | // RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
|
21 | printf("GPIO Port D config done \n");
|
22 | /*
|
23 | // Configuration PORT D as Output
|
24 | GPIO_InitTypeDef GPIO_InitStruct; //Where GPIO_InitDef is variable to work with struct
|
25 | GPIO_InitStruct.Pin = GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14;
|
26 | GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
|
27 | GPIO_InitStruct.Pull = GPIO_PULLUP;
|
28 | GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
|
29 | HAL_GPIO_Init(GPIOD,&GPIO_InitStruct);
|
30 | // RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
|
31 | */
|
32 |
|
33 | //GPIO Port A digital iN
|
34 | // Configuration PORT A as Input
|
35 | GPIO_InitStruct.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 ; //| GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7;
|
36 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
37 | GPIO_InitStruct.Pull = GPIO_NOPULL;
|
38 | GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
|
39 | HAL_GPIO_Init(GPIOA,&GPIO_InitStruct);
|
40 |
|
41 | printf("GPIO Port A config done \n");
|
42 |
|
43 |
|
44 | /**CAN-Bus GPIO Configuration
|
45 | * PB8 ------> CAN-TX
|
46 | * PB9 ------> CAN-RX
|
47 | * */
|
48 |
|
49 | GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9;
|
50 | GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
51 | GPIO_InitStruct.Pull = GPIO_NOPULL;
|
52 | GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
|
53 | GPIO_InitStruct.Alternate = GPIO_AF9_CAN1;
|
54 | HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
55 |
|
56 |
|
57 | printf("GPIO Port B config (CAN) done \n");
|
58 | /*
|
59 | //__HAL_RCC_GPIOE_CLK_ENABLE();
|
60 | // Configuration PORT A as Analog Input
|
61 | GPIO_InitStruct.Pin = GPIO_PIN_0;
|
62 | GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
|
63 | GPIO_InitStruct.Pull = GPIO_NOPULL;
|
64 | GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
|
65 | HAL_GPIO_Init(GPIOA,&GPIO_InitStruct);
|
66 | // RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
|
67 |
|
68 | */
|
69 |
|
70 | }
|