Skip to content

Commit a288f1d

Browse files
authoredDec 2, 2023
fix PY32F002A Series (#3)
1 parent d32e3a7 commit a288f1d

File tree

9 files changed

+22
-182
lines changed

9 files changed

+22
-182
lines changed
 

Diff for: ‎boards.txt

-12
Original file line numberDiff line numberDiff line change
@@ -408,22 +408,10 @@ GenF002A.menu.UploadSpeed.1200=1200
408408
GenF002A.menu.UploadSpeed.1200.upload.speed=1200
409409

410410
# HSI/HSE选择和主频
411-
GenF002A.menu.ClockSourceAndFrequency.HSI4M_HCLK4M=HSI 4Mhz, HCLK 4Mhz
412-
GenF002A.menu.ClockSourceAndFrequency.HSI4M_HCLK4M.build.temp=-D{build.series}_HSI_4M_HCLK_4M
413-
GenF002A.menu.ClockSourceAndFrequency.HSI4M_HCLK4M.build.f_cpu=4000000L
414-
415411
GenF002A.menu.ClockSourceAndFrequency.HSI8M_HCLK8M=HSI 8Mhz, HCLK 8Mhz
416412
GenF002A.menu.ClockSourceAndFrequency.HSI8M_HCLK8M.build.temp=-D{build.series}_HSI_8M_HCLK_8M
417413
GenF002A.menu.ClockSourceAndFrequency.HSI8M_HCLK8M.build.f_cpu=8000000L
418414

419-
GenF002A.menu.ClockSourceAndFrequency.HSI16M_HCLK16M=HSI 16Mhz, HCLK 16Mhz
420-
GenF002A.menu.ClockSourceAndFrequency.HSI16M_HCLK16M.build.temp=-D{build.series}_HSI_16M_HCLK_16M
421-
GenF002A.menu.ClockSourceAndFrequency.HSI16M_HCLK16M.build.f_cpu=16000000L
422-
423-
GenF002A.menu.ClockSourceAndFrequency.HSI22_12M_HCLK22_12M=HSI 22.12Mhz, HCLK 22.12Mhz
424-
GenF002A.menu.ClockSourceAndFrequency.HSI22_12M_HCLK22_12M.build.temp=-D{build.series}_HSI_22_12M_HCLK_22_12M
425-
GenF002A.menu.ClockSourceAndFrequency.HSI22_12M_HCLK22_12M.build.f_cpu=22120000L
426-
427415
GenF002A.menu.ClockSourceAndFrequency.HSI24M_HCLK24M=HSI 24Mhz, HCLK 24Mhz
428416
GenF002A.menu.ClockSourceAndFrequency.HSI24M_HCLK24M.build.temp=-D{build.series}_HSI_24M_HCLK_24M
429417
GenF002A.menu.ClockSourceAndFrequency.HSI24M_HCLK24M.build.f_cpu=24000000L

Diff for: ‎cores/arduino/py32/backup.h

+2
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,10 @@ static inline void resetBackupDomain(void)
6868
*/
6969
HAL_PWR_EnableBkUpAccess();
7070
#endif
71+
#if defined(RCC_BDCR_RTCSEL)
7172
__HAL_RCC_BACKUPRESET_FORCE();
7273
__HAL_RCC_BACKUPRESET_RELEASE();
74+
#endif
7375
}
7476

7577
static inline void enableBackupDomain(void)

Diff for: ‎cores/arduino/py32/py32yyxx_hal_conf.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
*/
77
#define HAL_MODULE_ENABLED
88
#define HAL_CORTEX_MODULE_ENABLED
9+
#if !defined (PY32F002Ax5)
910
#define HAL_DMA_MODULE_ENABLED /* Required by other modules */
11+
#endif
1012
#define HAL_FLASH_MODULE_ENABLED
1113
#define HAL_GPIO_MODULE_ENABLED
1214
#define HAL_HSEM_MODULE_ENABLED
@@ -40,7 +42,7 @@
4042
#undef HAL_I2S_MODULE_ENABLED
4143
#endif
4244

43-
#if !defined(HAL_RTC_MODULE_DISABLED)
45+
#if !defined(HAL_RTC_MODULE_DISABLED) && !defined (PY32F002Ax5)
4446
#define HAL_RTC_MODULE_ENABLED
4547
#else
4648
#undef HAL_RTC_MODULE_ENABLED

Diff for: ‎libraries/SrcWrapper/src/HardwareTimer.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,15 @@ void HardwareTimer::setup(TIM_TypeDef *instance)
6161

6262
_timerObj.handle.Instance = instance;
6363
_timerObj.handle.Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED;
64+
#if (defined(DMA) || defined(DMA1))
6465
_timerObj.handle.hdma[0] = NULL;
6566
_timerObj.handle.hdma[1] = NULL;
6667
_timerObj.handle.hdma[2] = NULL;
6768
_timerObj.handle.hdma[3] = NULL;
6869
_timerObj.handle.hdma[4] = NULL;
6970
_timerObj.handle.hdma[5] = NULL;
7071
_timerObj.handle.hdma[6] = NULL;
72+
#endif
7173
_timerObj.handle.Lock = HAL_UNLOCKED;
7274
_timerObj.handle.State = HAL_TIM_STATE_RESET;
7375

Diff for: ‎libraries/SrcWrapper/src/air/analog.cpp

+3
Original file line numberDiff line numberDiff line change
@@ -897,6 +897,7 @@ uint16_t adc_read_value(PinName pin, uint32_t resolution)
897897
AdcHandle.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; /* Parameter discarded because software trigger chosen */
898898
#endif
899899
#if !defined(AIR32F1xx) && !defined(AIRH7xx) && !defined(AIRMP1xx) && \
900+
!defined(PY32F002Ax5) && \
900901
!defined(ADC1_V2_5)
901902
AdcHandle.Init.DMAContinuousRequests = DISABLE; /* DMA one-shot mode selected (not applied to this example) */
902903
#endif
@@ -940,7 +941,9 @@ uint16_t adc_read_value(PinName pin, uint32_t resolution)
940941
#endif
941942

942943
AdcHandle.State = HAL_ADC_STATE_RESET;
944+
#if !defined(PY32F002Ax5)
943945
AdcHandle.DMA_Handle = NULL;
946+
#endif
944947
AdcHandle.Lock = HAL_UNLOCKED;
945948
/* Some other ADC_HandleTypeDef fields exists but not required */
946949

Diff for: ‎libraries/SrcWrapper/src/air/clock.c

+2
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ void enableClock(sourceClock_t source)
115115
#endif
116116
}
117117
break;
118+
#if defined (RCC_LSE_ON)
118119
case LSE_CLOCK:
119120
if (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) {
120121
#ifdef __HAL_RCC_LSEDRIVE_CONFIG
@@ -124,6 +125,7 @@ void enableClock(sourceClock_t source)
124125
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
125126
}
126127
break;
128+
#endif
127129
case HSE_CLOCK:
128130
if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) {
129131
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;

Diff for: ‎variants/PY32F002Axx/PY32F002A_Base/PeripheralPins.c

+8-60
Original file line numberDiff line numberDiff line change
@@ -85,39 +85,23 @@ WEAK const PinMap PinMap_TIM[] = {
8585
{PA_0, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM1, 1, 1)}, // TIM1_CH1N
8686
{PA_1, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM1, 4, 0)}, // TIM1_CH4
8787
{PA_1, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_TIM1, 2, 1)}, // TIM1_CH2N
88-
{PA_2, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM3, 1, 0)}, // TIM3_CH1
8988
{PA_3, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM1, 1, 0)}, // TIM1_CH1
90-
{PA_4, TIM14, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
91-
{PA_5, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM3, 3, 0)}, // TIM3_CH3
92-
{PA_6, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
9389
{PA_6, TIM16, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM16, 1, 0)}, // TIM16_CH1
94-
{PA_7, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
95-
{PA_7, TIM17, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1
9690
{PA_7, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N
97-
{PA_7, TIM14, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
9891
{PA_8, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 0)}, // TIM1_CH1
9992
{PA_9, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2
10093
{PA_10, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3
10194
{PA_11, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 4, 0)}, // TIM1_CH4
10295
{PA_13, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM1, 2, 0)}, // TIM1_CH2
103-
{PB_0, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 3, 0)}, // TIM3_CH3
10496
{PB_0, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N
105-
{PB_1, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 4, 0)}, // TIM3_CH4
10697
{PB_1, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N
107-
{PB_1, TIM14, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM14, 1, 0)}, // TIM3_CH1
10898
{PB_3, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
109-
{PB_4, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
110-
{PB_5, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
11199
{PB_6, TIM16, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N
112100
{PB_5, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
113101
{PB_6, TIM1, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
114102
{PB_6, TIM16, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N
115-
{PB_7, TIM17, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 1)}, // TIM17_CH1N
116103
{PB_8, TIM16, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 0)}, // TIM16_CH1
117-
{PB_8, TIM17, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM17, 1, 0)}, // TIM17_CH1
118-
{PF_0, TIM14, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM14, 1, 0)}, // TIM14_CH1
119-
{PF_1, TIM14, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM14, 1, 0)}, // TIM14_CH1
120-
{PF_3, TIM3, PY32_PIN_DATA_EXT(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF13_TIM3, 3, 0)}, // TIM3_CH3
104+
121105
{NC, NP, 0}
122106
};
123107
#endif
@@ -135,17 +119,7 @@ WEAK const PinMap PinMap_UART_TX[] = {
135119
{PB_8, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART1)},
136120
{PF_1, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART1)},
137121
{PF_3, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
138-
{PA_0, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
139-
{PA_2, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
140-
{PA_4, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
141-
{PA_7, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
142-
{PA_9, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
143-
{PA_14, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
144-
{PB_6, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
145-
{PB_8, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
146-
{PF_0, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
147-
{PF_1, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
148-
{PF_3, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
122+
149123
{NC, NP, 0}
150124
};
151125
#endif
@@ -161,17 +135,7 @@ WEAK const PinMap PinMap_UART_RX[] = {
161135
{PB_2, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
162136
{PB_7, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
163137
{PF_0, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_USART1)},
164-
{PA_1, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
165-
{PA_3, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
166-
{PA_5, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
167-
{PA_8, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
168-
{PA_10, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
169-
{PA_15, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
170-
{PB_2, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_USART2)},
171-
{PB_7, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
172-
{PF_0, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
173-
{PF_1, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_USART2)},
174-
{PF_2, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
138+
175139
{NC, NP, 0}
176140
};
177141
#endif
@@ -181,9 +145,7 @@ WEAK const PinMap PinMap_UART_RTS[] = {
181145
{PA_1, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
182146
{PA_12, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
183147
{PB_3, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_USART1)},
184-
{PA_1, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
185-
{PA_12, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
186-
{PB_3, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
148+
187149
{NC, NP, 0}
188150
};
189151
#endif
@@ -193,9 +155,7 @@ WEAK const PinMap PinMap_UART_CTS[] = {
193155
{PA_0, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
194156
{PA_11, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
195157
{PB_4, USART1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_USART1)},
196-
{PA_0, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
197-
{PA_11, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
198-
{PB_4, USART2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART2)},
158+
199159
{NC, NP, 0}
200160
};
201161
#endif
@@ -211,10 +171,6 @@ WEAK const PinMap PinMap_SPI_MOSI[] = {
211171
{PA_8, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SPI1)},
212172
{PA_12, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
213173
{PB_5, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
214-
{PA_4, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_SPI2)},
215-
{PA_10, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
216-
{PB_7, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_SPI2)},
217-
{PF_2, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_SPI2)},
218174

219175
{NC, NP, 0}
220176
};
@@ -228,11 +184,7 @@ WEAK const PinMap PinMap_SPI_MISO[] = {
228184
{PA_11, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
229185
{PA_13, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SPI1)},
230186
{PB_4, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
231-
{PA_3, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
232-
{PA_9, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
233-
{PB_6, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_SPI2)},
234-
{PF_1, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_SPI2)},
235-
{PF_3, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_SPI2)},
187+
236188
{NC, NP, 0}
237189
};
238190
#endif
@@ -244,10 +196,7 @@ WEAK const PinMap PinMap_SPI_SCLK[] = {
244196
{PA_5, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
245197
{PA_9, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SPI1)},
246198
{PB_3, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
247-
{PA_0, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
248-
{PB_2, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_SPI2)},
249-
{PB_8, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_SPI2)},
250-
{PF_0, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_SPI2)},
199+
251200
{NC, NP, 0}
252201
};
253202
#endif
@@ -259,8 +208,7 @@ WEAK const PinMap PinMap_SPI_SSEL[] = {
259208
{PB_0, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI1)},
260209
{PF_1, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SPI1)},
261210
{PF_3, SPI1, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SPI1)},
262-
{PA_8, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_SPI2)},
263-
{PB_8, SPI2, PY32_PIN_DATA(PY32_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_SPI2)},
211+
264212
{NC, NP, 0}
265213
};
266214
#endif

Diff for: ‎variants/PY32F002Axx/PY32F002A_Base/generic_clock.c

+1-106
Original file line numberDiff line numberDiff line change
@@ -27,46 +27,11 @@ WEAK void SystemClock_Config(void)
2727
RCC_OscInitStruct.OscillatorType |= RCC_OSCILLATORTYPE_LSI;
2828
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
2929

30-
#elif PY32F0xx_LSC_LSE
31-
RCC_OscInitStruct.OscillatorType |= RCC_OSCILLATORTYPE_LSE;
32-
RCC_OscInitStruct.LSEState = RCC_LSE_ON;
33-
RCC_OscInitStruct.LSEDriver = RCC_LSEDRIVE_MEDIUM;
34-
3530
#elif PY32F0xx_LSC_NONE
3631
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
37-
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
38-
#endif
39-
40-
#if defined(PY32F0xx_HSI_4M_HCLK_4M)
41-
#ifdef HSI_VALUE
42-
#undef HSI_VALUE
4332
#endif
44-
#define HSI_VALUE 4000000U
45-
/* 振荡器配置 */
46-
RCC_OscInitStruct.OscillatorType |= RCC_OSCILLATORTYPE_HSI;
47-
RCC_OscInitStruct.HSIState = RCC_HSI_ON; /* 开启HSI */
48-
RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; /* HSI 1分频 */
49-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_4MHz; /* 配置HSI时钟4MHz */
50-
RCC_OscInitStruct.HSEState = RCC_HSE_OFF; /* 关闭HSE */
51-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
52-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /*不选择时钟源*/
53-
/* 配置振荡器 */
54-
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
55-
{
56-
Error_Handler();
57-
}
5833

59-
/* 时钟源配置 */
60-
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1; /* 选择配置时钟 HCLK,SYSCLK,PCLK1 */
61-
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; /* 选择HSI作为系统时钟 */
62-
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; /* AHB时钟 1分频 */
63-
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; /* APB时钟 1分频 */
64-
/* 配置时钟源 */
65-
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
66-
{
67-
Error_Handler();
68-
}
69-
#elif defined(PY32F0xx_HSI_8M_HCLK_8M)
34+
#if defined(PY32F0xx_HSI_8M_HCLK_8M)
7035
#ifdef HSI_VALUE
7136
#undef HSI_VALUE
7237
#endif
@@ -77,68 +42,6 @@ WEAK void SystemClock_Config(void)
7742
RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; /* HSI 1分频 */
7843
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_8MHz; /* 配置HSI时钟8MHz */
7944
RCC_OscInitStruct.HSEState = RCC_HSE_OFF; /* 关闭HSE */
80-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
81-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /*不选择时钟源*/
82-
/* 配置振荡器 */
83-
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
84-
{
85-
Error_Handler();
86-
}
87-
88-
/* 时钟源配置 */
89-
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1; /* 选择配置时钟 HCLK,SYSCLK,PCLK1 */
90-
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; /* 选择HSI作为系统时钟 */
91-
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; /* AHB时钟 1分频 */
92-
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; /* APB时钟 1分频 */
93-
/* 配置时钟源 */
94-
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
95-
{
96-
Error_Handler();
97-
}
98-
99-
#elif defined(PY32F0xx_HSI_16M_HCLK_16M)
100-
#ifdef HSI_VALUE
101-
#undef HSI_VALUE
102-
#endif
103-
#define HSI_VALUE 16000000U
104-
/* 振荡器配置 */
105-
RCC_OscInitStruct.OscillatorType |= RCC_OSCILLATORTYPE_HSI;
106-
RCC_OscInitStruct.HSIState = RCC_HSI_ON; /* 开启HSI */
107-
RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; /* HSI 1分频 */
108-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_16MHz; /* 配置HSI时钟16MHz */
109-
RCC_OscInitStruct.HSEState = RCC_HSE_OFF; /* 关闭HSE */
110-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
111-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /*不选择时钟源*/
112-
/* 配置振荡器 */
113-
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
114-
{
115-
Error_Handler();
116-
}
117-
118-
/* 时钟源配置 */
119-
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK | RCC_CLOCKTYPE_PCLK1; /* 选择配置时钟 HCLK,SYSCLK,PCLK1 */
120-
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI; /* 选择HSI作为系统时钟 */
121-
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; /* AHB时钟 1分频 */
122-
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; /* APB时钟 1分频 */
123-
/* 配置时钟源 */
124-
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
125-
{
126-
Error_Handler();
127-
}
128-
129-
#elif defined(PY32F0xx_HSI_22_12M_HCLK_22_12M)
130-
#ifdef HSI_VALUE
131-
#undef HSI_VALUE
132-
#endif
133-
#define HSI_VALUE 22120000U
134-
/* 振荡器配置 */
135-
RCC_OscInitStruct.OscillatorType |= RCC_OSCILLATORTYPE_HSI;
136-
RCC_OscInitStruct.HSIState = RCC_HSI_ON; /* 开启HSI */
137-
RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; /* HSI 1分频 */
138-
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_22p12MHz; /* 配置HSI时钟22.12MHz */
139-
RCC_OscInitStruct.HSEState = RCC_HSE_OFF; /* 关闭HSE */
140-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
141-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /*不选择时钟源*/
14245
/* 配置振荡器 */
14346
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
14447
{
@@ -167,8 +70,6 @@ WEAK void SystemClock_Config(void)
16770
RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1; /* HSI 1分频 */
16871
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_24MHz; /* 配置HSI时钟24MHz */
16972
RCC_OscInitStruct.HSEState = RCC_HSE_OFF; /* 关闭HSE */
170-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
171-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /*不选择时钟源*/
17273
/* 配置振荡器 */
17374
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
17475
{
@@ -198,8 +99,6 @@ WEAK void SystemClock_Config(void)
19899
// RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_24MHz; /* 配置HSI输出时钟为8MHz */
199100
RCC_OscInitStruct.HSEState = RCC_HSE_ON; /* 开启HSE */
200101
RCC_OscInitStruct.HSEFreq = RCC_HSE_8_16MHz; /* HSE晶振工作频率16M~32M */
201-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
202-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /* 不选择PLL源 */
203102
/* 配置振荡器 */
204103
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
205104
{
@@ -229,8 +128,6 @@ WEAK void SystemClock_Config(void)
229128
// RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_24MHz; /* 配置HSI输出时钟为8MHz */
230129
RCC_OscInitStruct.HSEState = RCC_HSE_ON; /* 开启HSE */
231130
RCC_OscInitStruct.HSEFreq = RCC_HSE_8_16MHz; /* HSE晶振工作频率16M~32M */
232-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
233-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /* 不选择PLL源 */
234131
/* 配置振荡器 */
235132
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
236133
{
@@ -260,8 +157,6 @@ WEAK void SystemClock_Config(void)
260157
// RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_24MHz; /* 配置HSI输出时钟为8MHz */
261158
RCC_OscInitStruct.HSEState = RCC_HSE_ON; /* 开启HSE */
262159
RCC_OscInitStruct.HSEFreq = RCC_HSE_16_32MHz; /* HSE晶振工作频率16M~32M */
263-
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_OFF; /* 关闭PLL */
264-
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_NONE; /* 不选择PLL源 */
265160
/* 配置振荡器 */
266161
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
267162
{

Diff for: ‎variants/PY32F002Axx/PY32F002A_Base/variant_generic.h

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,6 @@
1616
* PY32 MCU pins number
1717
*----------------------------------------------------------------------------*/
1818

19-
#define RCC_PLL_SUPPORT
20-
2119
#define PA0 PIN_A0
2220
#define PA1 PIN_A1
2321
#define PA2 PIN_A2
@@ -118,7 +116,7 @@
118116
#define TIMER_TONE TIM16
119117
#endif
120118
#ifndef TIMER_SERVO
121-
#define TIMER_SERVO TIM14
119+
// #define TIMER_SERVO TIM14
122120
#endif
123121

124122
// UART Definitions

0 commit comments

Comments
 (0)
Please sign in to comment.