From 7a67526ee4c5c0664e2b8b9a56e86a82eb9b238a Mon Sep 17 00:00:00 2001 From: zhyinch <zhyinch@gmail.com> Date: 星期五, 10 十二月 2021 17:32:39 +0800 Subject: [PATCH] 0 --- Src/main.c | 149 ++++++++++++------------------------------------- 1 files changed, 37 insertions(+), 112 deletions(-) diff --git a/Src/main.c b/Src/main.c index b5fe6af..345f37b 100644 --- a/Src/main.c +++ b/Src/main.c @@ -51,8 +51,6 @@ /* USER CODE END PM */ /* Private variables ---------------------------------------------------------*/ -ADC_HandleTypeDef hadc; - LPTIM_HandleTypeDef hlptim1; SPI_HandleTypeDef hspi1; @@ -73,7 +71,6 @@ static void MX_LPTIM1_Init(void); static void MX_USART1_UART_Init(void); static void MX_SPI1_Init(void); -static void MX_ADC_Init(void); static void MX_DMA_Init(void); static void MX_TIM2_Init(void); /* USER CODE BEGIN PFP */ @@ -311,7 +308,8 @@ hardware_pici= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2); hardware_type= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4); //deca_sleep(1000); - g_com_map[VERSION] = 0x021f; + g_com_map[VERSION] = 0x0223; + // g_com_map[DEV_ID]=0x7; #ifdef DEBUG_MODE // g_com_map[DEV_ROLE]=1; @@ -324,7 +322,7 @@ // g_com_map[COM_INTERVAL]=50; #endif //g_com_map[NOMOVESLEEP_TIME]=10; -// g_com_map[IMU_ENABLE]=0; + g_com_map[IMU_ENABLE]=0; // g_com_map[COM_INTERVAL]=1000; active_flag = g_com_map[ACTIVE_INDEX]; if(active_flag==0) @@ -384,17 +382,17 @@ GPIO_InitTypeDef GPIO_InitStruct = {0}; //hardware_type=2; if(hardware_type == 0) - hardware_type = 2; + hardware_type = 1; switch(hardware_type) { case 1: - HAL_GPIO_WritePin(GPIOB, MOTOR_Pin, GPIO_PIN_SET); - GPIO_InitStruct.Pin = MOTOR_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); + HAL_GPIO_WritePin(GPIOB, MOTOR_Pin, GPIO_PIN_SET); + GPIO_InitStruct.Pin = MOTOR_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); break; case 2: MX_TIM2_Init(); @@ -437,11 +435,10 @@ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_LPTIM1_Init(); - MX_DMA_Init(); MX_USART1_UART_Init(); MX_SPI1_Init(); - MX_ADC_Init(); - //MX_TIM2_Init(); + MX_DMA_Init(); + MX_TIM2_Init(); /* USER CODE BEGIN 2 */ LED_LG_ON; Program_Init(); @@ -581,60 +578,6 @@ } /** - * @brief ADC Initialization Function - * @param None - * @retval None - */ -static void MX_ADC_Init(void) -{ - - /* USER CODE BEGIN ADC_Init 0 */ - - /* USER CODE END ADC_Init 0 */ - - ADC_ChannelConfTypeDef sConfig = {0}; - - /* USER CODE BEGIN ADC_Init 1 */ - - /* USER CODE END ADC_Init 1 */ - /** Configure the global features of the ADC (Clock, Resolution, Data Alignment and number of conversion) - */ - hadc.Instance = ADC1; - hadc.Init.OversamplingMode = DISABLE; - hadc.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV2; - hadc.Init.Resolution = ADC_RESOLUTION_12B; - hadc.Init.SamplingTime = ADC_SAMPLETIME_160CYCLES_5; - hadc.Init.ScanConvMode = ADC_SCAN_DIRECTION_FORWARD; - hadc.Init.DataAlign = ADC_DATAALIGN_RIGHT; - hadc.Init.ContinuousConvMode = DISABLE; - hadc.Init.DiscontinuousConvMode = DISABLE; - hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; - hadc.Init.ExternalTrigConv = ADC_SOFTWARE_START; - hadc.Init.DMAContinuousRequests = DISABLE; - hadc.Init.EOCSelection = ADC_EOC_SINGLE_CONV; - hadc.Init.Overrun = ADC_OVR_DATA_PRESERVED; - hadc.Init.LowPowerAutoWait = DISABLE; - hadc.Init.LowPowerFrequencyMode = DISABLE; - hadc.Init.LowPowerAutoPowerOff = DISABLE; - if (HAL_ADC_Init(&hadc) != HAL_OK) - { - Error_Handler(); - } - /** Configure for the selected ADC regular channel to be converted. - */ - sConfig.Channel = ADC_CHANNEL_1; - sConfig.Rank = ADC_RANK_CHANNEL_NUMBER; - if (HAL_ADC_ConfigChannel(&hadc, &sConfig) != HAL_OK) - { - Error_Handler(); - } - /* USER CODE BEGIN ADC_Init 2 */ -HAL_ADCEx_Calibration_Start(&hadc,ADC_SINGLE_ENDED); - /* USER CODE END ADC_Init 2 */ - -} - -/** * @brief LPTIM1 Initialization Function * @param None * @retval None @@ -721,7 +664,6 @@ TIM_ClockConfigTypeDef sClockSourceConfig = {0}; TIM_MasterConfigTypeDef sMasterConfig = {0}; - TIM_OC_InitTypeDef sConfigOC = {0}; /* USER CODE BEGIN TIM2_Init 1 */ @@ -741,21 +683,9 @@ { Error_Handler(); } - if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) - { - Error_Handler(); - } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK) - { - Error_Handler(); - } - sConfigOC.OCMode = TIM_OCMODE_PWM1; - sConfigOC.Pulse = 599; - sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH; - sConfigOC.OCFastMode = TIM_OCFAST_DISABLE; - if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK) { Error_Handler(); } @@ -766,7 +696,6 @@ // Error_Handler(); // } /* USER CODE END TIM2_Init 2 */ - HAL_TIM_MspPostInit(&htim2); } @@ -849,21 +778,29 @@ __HAL_RCC_GPIOB_CLK_ENABLE(); /*Configure GPIO pin Output Level */ + HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0|DW_WKUP_Pin|DW_CTRL_Pin|LED2_G_Pin, GPIO_PIN_RESET); + + /*Configure GPIO pin Output Level */ HAL_GPIO_WritePin(GPIOA, SCL_Pin|SDA_Pin|SPI_CS_Pin, GPIO_PIN_SET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOB, BAT_MEAS_GND_Pin|PWR_CTL_Pin, GPIO_PIN_SET); + HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2|GPIO_PIN_10|LED1_G_Pin|LED1_R_Pin + |LED2_R_Pin, GPIO_PIN_RESET); /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOB, LED1_G_Pin|LED1_R_Pin|LED2_R_Pin, GPIO_PIN_RESET); + HAL_GPIO_WritePin(PWR_CTL_GPIO_Port, PWR_CTL_Pin, GPIO_PIN_SET); - /*Configure GPIO pin Output Level */ - HAL_GPIO_WritePin(GPIOA, DW_WKUP_Pin|DW_CTRL_Pin|LED2_G_Pin, GPIO_PIN_RESET); - - /*Configure GPIO pin : PA0 */ - GPIO_InitStruct.Pin = GPIO_PIN_0; - GPIO_InitStruct.Mode = GPIO_MODE_IT_RISING; + /*Configure GPIO pins : PA0 DW_WKUP_Pin DW_CTRL_Pin LED2_G_Pin */ + GPIO_InitStruct.Pin = GPIO_PIN_0|DW_WKUP_Pin|DW_CTRL_Pin|LED2_G_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; + GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; + HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); + + /*Configure GPIO pin : PA1 */ + GPIO_InitStruct.Pin = GPIO_PIN_1; + GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; + GPIO_InitStruct.Pull = GPIO_PULLUP; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pins : SCL_Pin SDA_Pin */ @@ -880,18 +817,14 @@ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(SPI_CS_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pin : BAT_MEAS_GND_Pin */ - GPIO_InitStruct.Pin = BAT_MEAS_GND_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; + /*Configure GPIO pins : PB2 PB10 LED1_G_Pin LED1_R_Pin + LED2_R_Pin PWR_CTL_Pin */ + GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_10|LED1_G_Pin|LED1_R_Pin + |LED2_R_Pin|PWR_CTL_Pin; + GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(BAT_MEAS_GND_GPIO_Port, &GPIO_InitStruct); - - /*Configure GPIO pin : USER_KEY_Pin */ - GPIO_InitStruct.Pin = USER_KEY_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING; - GPIO_InitStruct.Pull = GPIO_PULLUP; - HAL_GPIO_Init(USER_KEY_GPIO_Port, &GPIO_InitStruct); + HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); /*Configure GPIO pin : INPUT_5V_Pin */ GPIO_InitStruct.Pin = INPUT_5V_Pin; @@ -899,19 +832,11 @@ GPIO_InitStruct.Pull = GPIO_PULLDOWN; HAL_GPIO_Init(INPUT_5V_GPIO_Port, &GPIO_InitStruct); - /*Configure GPIO pins : LED1_G_Pin LED1_R_Pin LED2_R_Pin PWR_CTL_Pin */ - GPIO_InitStruct.Pin = LED1_G_Pin|LED1_R_Pin|LED2_R_Pin|PWR_CTL_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; + /*Configure GPIO pin : PB5 */ + GPIO_InitStruct.Pin = GPIO_PIN_5; + GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); - - /*Configure GPIO pins : DW_WKUP_Pin DW_CTRL_Pin LED2_G_Pin */ - GPIO_InitStruct.Pin = DW_WKUP_Pin|DW_CTRL_Pin|LED2_G_Pin; - GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; - GPIO_InitStruct.Pull = GPIO_NOPULL; - GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; - HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); /*Configure GPIO pin : PWR_ON_Pin */ GPIO_InitStruct.Pin = PWR_ON_Pin; -- Gitblit v1.9.3