Добавлен таргет проект для PY32F002A

This commit is contained in:
2025-03-06 13:26:17 +03:00
parent 15134a549a
commit 4c987be8e7
106 changed files with 88903 additions and 450 deletions

View File

@@ -43,7 +43,6 @@ void MX_GPIO_Init(void)
/* GPIO Ports Clock Enable */
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
/* Íàñòðîéêà ïèíà PB0 (OneWire) */

View File

@@ -43,7 +43,7 @@ int main(void)
{
__HAL_DBGMCU_FREEZE_IWDG();
__HAL_DBGMCU_FREEZE_TIM1();
__HAL_DBGMCU_FREEZE_TIM14();
__HAL_DBGMCU_FREEZE_TIM_MB();
/* Reset of all peripherals, Initializes the Systick. */
HAL_Init();
@@ -53,7 +53,7 @@ int main(void)
// MX_IWDG_Init();
MX_GPIO_Init();
MX_TIM1_Init();
MX_TIM14_Init();
MX_TIMMB_Init();
MX_USART1_UART_Init();
@@ -115,16 +115,23 @@ static void APP_SystemClockConfig(void)
RCC->ICSCR |= (RCC_HSICALIBRATION_24MHz << RCC_ICSCR_HSI_TRIM_Pos);
/* Îòêëþ÷åíèå LSI è LSE */
#ifdef RCC_LSE_SUPPORT
RCC->CSR &= ~RCC_CSR_LSION;
RCC->BDCR &= ~RCC_BDCR_LSEON;
#endif
/* Îòêëþ÷åíèå áàéïàñà HSE */
RCC->CR &= ~RCC_HSE_BYPASS_DISABLE;
RCC->CR &= ~0x00000000U;
/* Óñòàíîâêà èñòî÷íèêà ñèñòåìíîé òàêòîâîé ÷àñòîòû */
RCC->CFGR &= ~RCC_CFGR_SW;
#ifdef PY32F002Bx5
RCC->CFGR |= RCC_SYSCLKSOURCE_HSISYS;
while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_SYSCLKSOURCE_HSISYS);
#endif
#ifdef PY32F002Ax5
RCC->CFGR |= RCC_SYSCLKSOURCE_HSI;
while ((RCC->CFGR & RCC_CFGR_SWS) != RCC_SYSCLKSOURCE_HSI);
#endif
/* Óñòàíîâêà äåëèòåëåé */
RCC->CFGR &= ~(RCC_CFGR_HPRE | RCC_CFGR_PPRE_1);

View File

@@ -88,7 +88,7 @@ void USART1_IRQHandler(void)
/**
* @brief This function handles TIM2 global interrupt.
*/
void TIM14_IRQHandler(void)
void TIM_MB_IRQHandler(void)
{
/* USER CODE BEGIN TIM2_IRQn 0 */
RS_TIM_Handler(&hmodbus1);

View File

@@ -98,36 +98,38 @@ void MX_TIM1_Init(void)
}
/* TIM2 init function */
void MX_TIM14_Init(void)
void MX_TIMMB_Init(void)
{
// Включение тактирования TIM1
__HAL_RCC_TIM14_CLK_ENABLE();
__HAL_RCC_TIM_MB_CLK_ENABLE();
// Установка предделителя (Prescaler)
TIM14->PSC = 24-1;
TIM_MB->PSC = 24-1;
// Установка режима счета вверх
TIM14->CR1 &= ~TIM_CR1_DIR;
TIM_MB->CR1 &= ~TIM_CR1_DIR;
// Установка периода (ARR - Auto-reload register) на 50 миллисекунд
TIM14->ARR = 50000;
TIM_MB->ARR = 50000;
// Установка делителя частоты (Clock Division)
TIM14->CR1 &= ~TIM_CR1_CKD;
TIM_MB->CR1 &= ~TIM_CR1_CKD;
// Отключение режима предзагрузки
TIM14->CR1 &= ~TIM_CR1_ARPE;
TIM_MB->CR1 &= ~TIM_CR1_ARPE;
// Выбор внутреннего источника тактирования
TIM14->SMCR &= ~TIM_SMCR_SMS;
TIM_MB->SMCR &= ~TIM_SMCR_SMS;
// Настройка триггерного выхода (TRGO)
TIM14->CR2 &= ~TIM_CR2_MMS;
TIM_MB->CR2 &= ~TIM_CR2_MMS;
// Отключение режима Master/Slave
TIM14->SMCR &= ~TIM_SMCR_MSM;
TIM_MB->SMCR &= ~TIM_SMCR_MSM;
HAL_NVIC_SetPriority(TIM_MB_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM_MB_IRQn);
// /* USER CODE BEGIN TIM2_Init 0 */
// /* USER CODE END TIM2_Init 0 */
@@ -138,7 +140,7 @@ void MX_TIM14_Init(void)
// /* USER CODE BEGIN TIM2_Init 1 */
// /* USER CODE END TIM2_Init 1 */
// htim14.Instance = TIM14;
// htim14.Instance = TIM_MB;
// htim14.Init.Prescaler = (24) - 1;
// htim14.Init.CounterMode = TIM_COUNTERMODE_UP;
// htim14.Init.Period = 50000;
@@ -164,69 +166,6 @@ void MX_TIM14_Init(void)
// /* USER CODE END TIM2_Init 2 */
}
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
{
if(tim_baseHandle->Instance==TIM1)
{
/* USER CODE BEGIN TIM1_MspInit 0 */
/* USER CODE END TIM1_MspInit 0 */
/* TIM1 clock enable */
__HAL_RCC_TIM1_CLK_ENABLE();
/* USER CODE BEGIN TIM1_MspInit 1 */
/* USER CODE END TIM1_MspInit 1 */
}
else if(tim_baseHandle->Instance==TIM14)
{
/* USER CODE BEGIN TIM14_MspInit 0 */
/* USER CODE END TIM14_MspInit 0 */
/* TIM14 clock enable */
__HAL_RCC_TIM14_CLK_ENABLE();
/* TIM14 interrupt Init */
HAL_NVIC_SetPriority(TIM14_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(TIM14_IRQn);
/* USER CODE BEGIN TIM14_MspInit 1 */
/* USER CODE END TIM14_MspInit 1 */
}
}
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
{
if(tim_baseHandle->Instance==TIM1)
{
/* USER CODE BEGIN TIM1_MspDeInit 0 */
/* USER CODE END TIM1_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_TIM1_CLK_DISABLE();
/* TIM1 interrupt Deinit */
HAL_NVIC_DisableIRQ(TIM1_BRK_UP_TRG_COM_IRQn);
/* USER CODE BEGIN TIM1_MspDeInit 1 */
/* USER CODE END TIM1_MspDeInit 1 */
}
else if(tim_baseHandle->Instance==TIM14)
{
/* USER CODE BEGIN TIM14_MspDeInit 0 */
/* USER CODE END TIM14_MspDeInit 0 */
/* TIM14 clock disable */
__HAL_RCC_TIM14_CLK_DISABLE();
/* TIM14 interrupt Deinit */
HAL_NVIC_DisableIRQ(TIM14_IRQn);
/* USER CODE BEGIN TIM14_MspDeInit 1 */
/* USER CODE END TIM14_MspDeInit 1 */
}
}
/* USER CODE BEGIN 1 */