Skip to content

Commit 7cf7841

Browse files
authored
Merge pull request #3510 from whj4674672/master
增加stm32h743-atk-apollo对pcf8574 和 uart2的支持
2 parents 5c399d5 + 32d13e3 commit 7cf7841

File tree

9 files changed

+247
-73
lines changed

9 files changed

+247
-73
lines changed

bsp/stm32/stm32h743-atk-apollo/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,19 @@
4141
| **板载外设** | **支持情况** | **备注** |
4242
| :----------------- | :----------: | :------------------------------------- |
4343
| USB 转串口 | 支持 | |
44+
| COM2 | 支持 | |
4445
| QSPI Flash | 支持 | |
4546
| 以太网 | 暂不支持 | |
4647
| SD卡 | 暂不支持 | |
47-
| CAN | 暂不支持 | |
48+
| CAN-FD | 暂不支持 | |
4849
| SDRAM | 支持 | |
4950
| LCD | 支持 | |
5051
| MPU9250六轴传感器 | 暂不支持 | |
5152
| **片上外设** | **支持情况** | **备注** |
5253
| GPIO | 支持 | PA0, PA1... PK15 ---> PIN: 0, 1...176 |
5354
| UART | 支持 | |
5455
| SPI | 支持 | SPI2 |
55-
| I2C | 暂不支持 | |
56+
| I2C | 支持 | PCF8574 |
5657
| SDIO | 暂不支持 | |
5758
| RTC | 支持 | |
5859
| PWM | 暂不支持 | |

bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/CubeMX_Config.ioc

Lines changed: 75 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Mcu.IP1=DEBUG
2626
Mcu.IP10=SPI2
2727
Mcu.IP11=SYS
2828
Mcu.IP12=USART1
29+
Mcu.IP13=USART2
2930
Mcu.IP2=DMA2D
3031
Mcu.IP3=FMC
3132
Mcu.IP4=IWDG1
@@ -34,7 +35,7 @@ Mcu.IP6=NVIC
3435
Mcu.IP7=QUADSPI
3536
Mcu.IP8=RCC
3637
Mcu.IP9=RTC
37-
Mcu.IPNb=13
38+
Mcu.IPNb=14
3839
Mcu.Name=STM32H743IITx
3940
Mcu.Package=LQFP176
4041
Mcu.Pin0=PC13
@@ -51,81 +52,84 @@ Mcu.Pin18=PC0
5152
Mcu.Pin19=PC2_C
5253
Mcu.Pin2=PC15-OSC32_OUT (OSC32_OUT)
5354
Mcu.Pin20=PC3_C
54-
Mcu.Pin21=PB2
55-
Mcu.Pin22=PF11
56-
Mcu.Pin23=PF12
57-
Mcu.Pin24=PF13
58-
Mcu.Pin25=PF14
59-
Mcu.Pin26=PF15
60-
Mcu.Pin27=PG0
61-
Mcu.Pin28=PG1
62-
Mcu.Pin29=PE7
55+
Mcu.Pin21=PA2
56+
Mcu.Pin22=PA3
57+
Mcu.Pin23=PB2
58+
Mcu.Pin24=PF11
59+
Mcu.Pin25=PF12
60+
Mcu.Pin26=PF13
61+
Mcu.Pin27=PF14
62+
Mcu.Pin28=PF15
63+
Mcu.Pin29=PG0
6364
Mcu.Pin3=PI9
64-
Mcu.Pin30=PE8
65-
Mcu.Pin31=PE9
66-
Mcu.Pin32=PE10
67-
Mcu.Pin33=PE11
68-
Mcu.Pin34=PE12
69-
Mcu.Pin35=PE13
70-
Mcu.Pin36=PE14
71-
Mcu.Pin37=PE15
72-
Mcu.Pin38=PH9
73-
Mcu.Pin39=PH10
65+
Mcu.Pin30=PG1
66+
Mcu.Pin31=PE7
67+
Mcu.Pin32=PE8
68+
Mcu.Pin33=PE9
69+
Mcu.Pin34=PE10
70+
Mcu.Pin35=PE11
71+
Mcu.Pin36=PE12
72+
Mcu.Pin37=PE13
73+
Mcu.Pin38=PE14
74+
Mcu.Pin39=PE15
7475
Mcu.Pin4=PI10
75-
Mcu.Pin40=PH11
76-
Mcu.Pin41=PH12
77-
Mcu.Pin42=PB13
78-
Mcu.Pin43=PB14
79-
Mcu.Pin44=PB15
80-
Mcu.Pin45=PD8
81-
Mcu.Pin46=PD9
82-
Mcu.Pin47=PD10
83-
Mcu.Pin48=PD14
84-
Mcu.Pin49=PD15
76+
Mcu.Pin40=PH9
77+
Mcu.Pin41=PH10
78+
Mcu.Pin42=PH11
79+
Mcu.Pin43=PH12
80+
Mcu.Pin44=PB13
81+
Mcu.Pin45=PB14
82+
Mcu.Pin46=PB15
83+
Mcu.Pin47=PD8
84+
Mcu.Pin48=PD9
85+
Mcu.Pin49=PD10
8586
Mcu.Pin5=PF0
86-
Mcu.Pin50=PG2
87-
Mcu.Pin51=PG4
88-
Mcu.Pin52=PG5
89-
Mcu.Pin53=PG6
90-
Mcu.Pin54=PG7
91-
Mcu.Pin55=PG8
92-
Mcu.Pin56=PA9
93-
Mcu.Pin57=PA10
94-
Mcu.Pin58=PA13 (JTMS/SWDIO)
95-
Mcu.Pin59=PH13
87+
Mcu.Pin50=PD14
88+
Mcu.Pin51=PD15
89+
Mcu.Pin52=PG2
90+
Mcu.Pin53=PG4
91+
Mcu.Pin54=PG5
92+
Mcu.Pin55=PG6
93+
Mcu.Pin56=PG7
94+
Mcu.Pin57=PG8
95+
Mcu.Pin58=PA9
96+
Mcu.Pin59=PA10
9697
Mcu.Pin6=PF1
97-
Mcu.Pin60=PH14
98-
Mcu.Pin61=PH15
99-
Mcu.Pin62=PI0
100-
Mcu.Pin63=PI1
101-
Mcu.Pin64=PI2
102-
Mcu.Pin65=PA14 (JTCK/SWCLK)
103-
Mcu.Pin66=PD0
104-
Mcu.Pin67=PD1
105-
Mcu.Pin68=PG11
106-
Mcu.Pin69=PG15
98+
Mcu.Pin60=PA13 (JTMS/SWDIO)
99+
Mcu.Pin61=PH13
100+
Mcu.Pin62=PH14
101+
Mcu.Pin63=PH15
102+
Mcu.Pin64=PI0
103+
Mcu.Pin65=PI1
104+
Mcu.Pin66=PI2
105+
Mcu.Pin67=PA14 (JTCK/SWCLK)
106+
Mcu.Pin68=PD0
107+
Mcu.Pin69=PD1
107108
Mcu.Pin7=PF2
108-
Mcu.Pin70=PB6
109-
Mcu.Pin71=PE0
110-
Mcu.Pin72=PE1
111-
Mcu.Pin73=PI4
112-
Mcu.Pin74=PI5
113-
Mcu.Pin75=PI6
114-
Mcu.Pin76=PI7
115-
Mcu.Pin77=VP_DMA2D_VS_DMA2D
116-
Mcu.Pin78=VP_IWDG1_VS_IWDG
117-
Mcu.Pin79=VP_RTC_VS_RTC_Activate
109+
Mcu.Pin70=PG11
110+
Mcu.Pin71=PG15
111+
Mcu.Pin72=PB6
112+
Mcu.Pin73=PE0
113+
Mcu.Pin74=PE1
114+
Mcu.Pin75=PI4
115+
Mcu.Pin76=PI5
116+
Mcu.Pin77=PI6
117+
Mcu.Pin78=PI7
118+
Mcu.Pin79=VP_DMA2D_VS_DMA2D
118119
Mcu.Pin8=PF3
119-
Mcu.Pin80=VP_SYS_VS_Systick
120+
Mcu.Pin80=VP_IWDG1_VS_IWDG
121+
Mcu.Pin81=VP_RTC_VS_RTC_Activate
122+
Mcu.Pin82=VP_SYS_VS_Systick
120123
Mcu.Pin9=PF4
121-
Mcu.PinsNb=81
124+
Mcu.PinsNb=83
122125
Mcu.ThirdPartyNb=0
123126
Mcu.UserConstants=
124127
Mcu.UserName=STM32H743IITx
125128
MxCube.Version=5.3.0
126129
MxDb.Version=DB.5.0.30
127130
NVIC.BusFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
128131
NVIC.DebugMonitor_IRQn=true\:0\:0\:false\:false\:true\:false\:false
132+
NVIC.ForceEnableDMAVector=true
129133
NVIC.HardFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
130134
NVIC.MemoryManagement_IRQn=true\:0\:0\:false\:false\:true\:false\:false
131135
NVIC.NonMaskableInt_IRQn=true\:0\:0\:false\:false\:true\:false\:false
@@ -134,6 +138,7 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
134138
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
135139
NVIC.SysTick_IRQn=true\:0\:0\:false\:false\:true\:false\:true
136140
NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
141+
NVIC.USART2_IRQn=true\:0\:0\:false\:false\:true\:true\:true
137142
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
138143
PA10.Locked=true
139144
PA10.Mode=Asynchronous
@@ -142,6 +147,10 @@ PA13\ (JTMS/SWDIO).Mode=Serial_Wire
142147
PA13\ (JTMS/SWDIO).Signal=DEBUG_JTMS-SWDIO
143148
PA14\ (JTCK/SWCLK).Mode=Serial_Wire
144149
PA14\ (JTCK/SWCLK).Signal=DEBUG_JTCK-SWCLK
150+
PA2.Mode=Asynchronous
151+
PA2.Signal=USART2_TX
152+
PA3.Mode=Asynchronous
153+
PA3.Signal=USART2_RX
145154
PA9.Locked=true
146155
PA9.Mode=Asynchronous
147156
PA9.Signal=USART1_TX
@@ -301,7 +310,7 @@ PI7.Signal=LTDC_B7
301310
PI9.Mode=RGB565
302311
PI9.Signal=LTDC_VSYNC
303312
PinOutPanel.RotationAngle=0
304-
ProjectManager.AskForMigrate=true
313+
ProjectManager.AskForMigrate=false
305314
ProjectManager.BackupPrevious=false
306315
ProjectManager.CompilerOptimize=6
307316
ProjectManager.ComputerToolchain=false
@@ -327,7 +336,7 @@ ProjectManager.StackSize=0x400
327336
ProjectManager.TargetToolchain=MDK-ARM V5
328337
ProjectManager.ToolChainLocation=
329338
ProjectManager.UnderRoot=false
330-
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_FMC_Init-FMC-false-HAL-true,6-MX_DMA2D_Init-DMA2D-false-HAL-true,7-MX_LTDC_Init-LTDC-false-HAL-true,8-MX_RTC_Init-RTC-false-HAL-true,9-MX_IWDG1_Init-IWDG1-false-HAL-true,10-MX_QUADSPI_Init-QUADSPI-false-HAL-true,11-MX_SPI2_Init-SPI2-false-HAL-true
339+
ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_CORTEX_M7_Init-CORTEX_M7-false-HAL-true,4-MX_USART1_UART_Init-USART1-false-HAL-true,5-MX_FMC_Init-FMC-false-HAL-true,6-MX_DMA2D_Init-DMA2D-false-HAL-true,7-MX_LTDC_Init-LTDC-false-HAL-true,8-MX_RTC_Init-RTC-false-HAL-true,9-MX_IWDG1_Init-IWDG1-false-HAL-true,10-MX_QUADSPI_Init-QUADSPI-false-HAL-true,11-MX_SPI2_Init-SPI2-false-HAL-true,12-MX_USART2_UART_Init-USART2-false-HAL-true
331340
RCC.ADCFreq_Value=50390625
332341
RCC.AHB12Freq_Value=200000000
333342
RCC.AHB4Freq_Value=200000000
@@ -493,6 +502,8 @@ SPI2.Mode=SPI_MODE_MASTER
493502
SPI2.VirtualType=VM_MASTER
494503
USART1.IPParameters=VirtualMode-Asynchronous
495504
USART1.VirtualMode-Asynchronous=VM_ASYNC
505+
USART2.IPParameters=VirtualMode-Asynchronous
506+
USART2.VirtualMode-Asynchronous=VM_ASYNC
496507
VP_DMA2D_VS_DMA2D.Mode=DMA2D_Activate
497508
VP_DMA2D_VS_DMA2D.Signal=DMA2D_VS_DMA2D
498509
VP_IWDG1_VS_IWDG.Mode=IWDG_Activate

bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Inc/stm32h7xx_hal_conf.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@
151151
#define VDD_VALUE ((uint32_t)3300U) /*!< Value of VDD in mv */
152152
#define TICK_INT_PRIORITY ((uint32_t)0U) /*!< tick interrupt priority */
153153
#define USE_RTOS 0U
154-
#define USE_SD_TRANSCEIVER 1U /*!< use uSD Transceiver */
154+
#define USE_SD_TRANSCEIVER 0U /*!< use uSD Transceiver */
155155

156156
#define USE_HAL_ADC_REGISTER_CALLBACKS 0U /* ADC register callback disabled */
157157
#define USE_HAL_CEC_REGISTER_CALLBACKS 0U /* CEC register callback disabled */

bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Inc/stm32h7xx_it.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ void DebugMon_Handler(void);
7272
void PendSV_Handler(void);
7373
void SysTick_Handler(void);
7474
void USART1_IRQHandler(void);
75+
void USART2_IRQHandler(void);
7576
/* USER CODE BEGIN EFP */
7677

7778
/* USER CODE END EFP */

bsp/stm32/stm32h743-atk-apollo/board/CubeMX_Config/Src/main.c

Lines changed: 56 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ RTC_HandleTypeDef hrtc;
7676
SPI_HandleTypeDef hspi2;
7777

7878
UART_HandleTypeDef huart1;
79+
UART_HandleTypeDef huart2;
7980

8081
SDRAM_HandleTypeDef hsdram1;
8182

@@ -94,6 +95,7 @@ static void MX_RTC_Init(void);
9495
static void MX_IWDG1_Init(void);
9596
static void MX_QUADSPI_Init(void);
9697
static void MX_SPI2_Init(void);
98+
static void MX_USART2_UART_Init(void);
9799
/* USER CODE BEGIN PFP */
98100

99101
/* USER CODE END PFP */
@@ -146,6 +148,7 @@ int main(void)
146148
MX_IWDG1_Init();
147149
MX_QUADSPI_Init();
148150
MX_SPI2_Init();
151+
MX_USART2_UART_Init();
149152
/* USER CODE BEGIN 2 */
150153

151154
/* USER CODE END 2 */
@@ -225,8 +228,9 @@ void SystemClock_Config(void)
225228
Error_Handler();
226229
}
227230
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_LTDC
228-
|RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_SPI2
229-
|RCC_PERIPHCLK_QSPI|RCC_PERIPHCLK_FMC;
231+
|RCC_PERIPHCLK_USART2|RCC_PERIPHCLK_USART1
232+
|RCC_PERIPHCLK_SPI2|RCC_PERIPHCLK_QSPI
233+
|RCC_PERIPHCLK_FMC;
230234
PeriphClkInitStruct.PLL3.PLL3M = 5;
231235
PeriphClkInitStruct.PLL3.PLL3N = 160;
232236
PeriphClkInitStruct.PLL3.PLL3P = 2;
@@ -238,6 +242,7 @@ void SystemClock_Config(void)
238242
PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_D1HCLK;
239243
PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_D1HCLK;
240244
PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL;
245+
PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1;
241246
PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2;
242247
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
243248
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
@@ -558,6 +563,54 @@ static void MX_USART1_UART_Init(void)
558563

559564
}
560565

566+
/**
567+
* @brief USART2 Initialization Function
568+
* @param None
569+
* @retval None
570+
*/
571+
static void MX_USART2_UART_Init(void)
572+
{
573+
574+
/* USER CODE BEGIN USART2_Init 0 */
575+
576+
/* USER CODE END USART2_Init 0 */
577+
578+
/* USER CODE BEGIN USART2_Init 1 */
579+
580+
/* USER CODE END USART2_Init 1 */
581+
huart2.Instance = USART2;
582+
huart2.Init.BaudRate = 115200;
583+
huart2.Init.WordLength = UART_WORDLENGTH_8B;
584+
huart2.Init.StopBits = UART_STOPBITS_1;
585+
huart2.Init.Parity = UART_PARITY_NONE;
586+
huart2.Init.Mode = UART_MODE_TX_RX;
587+
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
588+
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
589+
huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
590+
huart2.Init.ClockPrescaler = UART_PRESCALER_DIV1;
591+
huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
592+
if (HAL_UART_Init(&huart2) != HAL_OK)
593+
{
594+
Error_Handler();
595+
}
596+
if (HAL_UARTEx_SetTxFifoThreshold(&huart2, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
597+
{
598+
Error_Handler();
599+
}
600+
if (HAL_UARTEx_SetRxFifoThreshold(&huart2, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
601+
{
602+
Error_Handler();
603+
}
604+
if (HAL_UARTEx_DisableFifoMode(&huart2) != HAL_OK)
605+
{
606+
Error_Handler();
607+
}
608+
/* USER CODE BEGIN USART2_Init 2 */
609+
610+
/* USER CODE END USART2_Init 2 */
611+
612+
}
613+
561614
/* FMC initialization function */
562615
static void MX_FMC_Init(void)
563616
{
@@ -618,11 +671,11 @@ static void MX_GPIO_Init(void)
618671
__HAL_RCC_GPIOI_CLK_ENABLE();
619672
__HAL_RCC_GPIOF_CLK_ENABLE();
620673
__HAL_RCC_GPIOH_CLK_ENABLE();
674+
__HAL_RCC_GPIOA_CLK_ENABLE();
621675
__HAL_RCC_GPIOB_CLK_ENABLE();
622676
__HAL_RCC_GPIOG_CLK_ENABLE();
623677
__HAL_RCC_GPIOE_CLK_ENABLE();
624678
__HAL_RCC_GPIOD_CLK_ENABLE();
625-
__HAL_RCC_GPIOA_CLK_ENABLE();
626679

627680
}
628681

0 commit comments

Comments
 (0)