From 74697dc1bae06a321a9064ddd0a4ed81f3b2507f Mon Sep 17 00:00:00 2001 From: Gama Date: Mon, 31 Jan 2022 15:51:23 +0300 Subject: [PATCH] work ebati kak --- .mxproject | 16 +++++++-------- Core/Src/main.c | 43 ++++++++++++++++++++------------------- STMGyro.ioc | 54 ++++++++++++++++++++++++++++++++++++------------- 3 files changed, 70 insertions(+), 43 deletions(-) diff --git a/.mxproject b/.mxproject index e08cffb..0670d49 100644 --- a/.mxproject +++ b/.mxproject @@ -9,17 +9,17 @@ CDefines=USE_HAL_DRIVER;STM32L432xx;USE_HAL_DRIVER;USE_HAL_DRIVER; [PreviousGenFiles] AdvancedFolderStructure=true HeaderFileListSize=3 -HeaderFiles#0=C:/Users/Maxim/Documents/STMGyro/Core/Inc/stm32l4xx_it.h -HeaderFiles#1=C:/Users/Maxim/Documents/STMGyro/Core/Inc/stm32l4xx_hal_conf.h -HeaderFiles#2=C:/Users/Maxim/Documents/STMGyro/Core/Inc/main.h +HeaderFiles#0=C:/file/STMGyro/Core/Inc/stm32l4xx_it.h +HeaderFiles#1=C:/file/STMGyro/Core/Inc/stm32l4xx_hal_conf.h +HeaderFiles#2=C:/file/STMGyro/Core/Inc/main.h HeaderFolderListSize=1 -HeaderPath#0=C:/Users/Maxim/Documents/STMGyro/Core/Inc +HeaderPath#0=C:/file/STMGyro/Core/Inc HeaderFiles=; SourceFileListSize=3 -SourceFiles#0=C:/Users/Maxim/Documents/STMGyro/Core/Src/stm32l4xx_it.c -SourceFiles#1=C:/Users/Maxim/Documents/STMGyro/Core/Src/stm32l4xx_hal_msp.c -SourceFiles#2=C:/Users/Maxim/Documents/STMGyro/Core/Src/main.c +SourceFiles#0=C:/file/STMGyro/Core/Src/stm32l4xx_it.c +SourceFiles#1=C:/file/STMGyro/Core/Src/stm32l4xx_hal_msp.c +SourceFiles#2=C:/file/STMGyro/Core/Src/main.c SourceFolderListSize=1 -SourcePath#0=C:/Users/Maxim/Documents/STMGyro/Core/Src +SourcePath#0=C:/file/STMGyro/Core/Src SourceFiles=; diff --git a/Core/Src/main.c b/Core/Src/main.c index eb8f4e2..cabe541 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -18,12 +18,12 @@ /* USER CODE END Header */ /* Includes ------------------------------------------------------------------*/ #include "main.h" -#include "gyro_mes.h" -#include "stdio.h" -#include "string.h" /* Private includes ----------------------------------------------------------*/ /* USER CODE BEGIN Includes */ +#include "gyro_mes.h" +#include "stdio.h" +#include "string.h" /* USER CODE END Includes */ @@ -113,6 +113,7 @@ int main(void) /* Infinite loop */ /* USER CODE BEGIN WHILE */ + struct sData data[3]; int8_t res = comand_mes(data_in, sizeof(data_in) / sizeof(data_in[0])); if(res != 0) return res; while (1) @@ -120,29 +121,24 @@ int main(void) flag_cs = 1; CS1_ON(); res = HAL_SPI_TransmitReceive_IT(&hspi1, data_in, data_out, sizeof(data_in) / sizeof(data_in[0])); - while(!flag_receive && res == 0) { - HAL_Delay(1); - } + while(!flag_receive && res == 0); + CS1_OFF(); flag_receive = 0; flag_cs = 2; CS2_ON(); res = HAL_SPI_TransmitReceive_IT(&hspi1, data_in, &data_out[6], sizeof(data_in) / sizeof(data_in[0])); - while(!flag_receive && res == 0) { - HAL_Delay(1); - } + while(!flag_receive && res == 0); + CS2_OFF(); flag_receive = 0; flag_cs = 3; CS3_ON(); res = HAL_SPI_TransmitReceive_IT(&hspi1, data_in, &data_out[12], sizeof(data_in) / sizeof(data_in[0])); - while(!flag_receive && res == 0) { - HAL_Delay(1); - } + while(!flag_receive && res == 0) ; CS3_OFF(); flag_receive = 0; - struct sData data[3]; int8_t res = status_mes(&data_out[0], 6u, &data[0]); res += status_mes(&data_out[6], 6u, &data[1]); res += status_mes(&data_out[12], 6u, &data[2]); @@ -181,11 +177,16 @@ void SystemClock_Config(void) /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_MSI; - RCC_OscInitStruct.MSIState = RCC_MSI_ON; - RCC_OscInitStruct.MSICalibrationValue = 0; - RCC_OscInitStruct.MSIClockRange = RCC_MSIRANGE_6; - RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI; + RCC_OscInitStruct.HSIState = RCC_HSI_ON; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 1; + RCC_OscInitStruct.PLL.PLLN = 10; + RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV7; + RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2; + RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2; if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); @@ -194,12 +195,12 @@ void SystemClock_Config(void) */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; - RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_MSI; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1; RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK) + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_4) != HAL_OK) { Error_Handler(); } @@ -261,7 +262,7 @@ static void MX_USART1_UART_Init(void) /* USER CODE END USART1_Init 1 */ huart1.Instance = USART1; - huart1.Init.BaudRate = 115200; + huart1.Init.BaudRate = 921600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; diff --git a/STMGyro.ioc b/STMGyro.ioc index a5bb55e..a3e0fb3 100644 --- a/STMGyro.ioc +++ b/STMGyro.ioc @@ -119,33 +119,59 @@ ProjectManager.StackSize=0x400 ProjectManager.TargetToolchain=STM32CubeIDE ProjectManager.ToolChainLocation= ProjectManager.UnderRoot=true -ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_SPI1_Init-SPI1-false-HAL-true,4-MX_DMA_Init-DMA-false-HAL-true +ProjectManager.functionlistsort=1-MX_GPIO_Init-GPIO-false-HAL-true,2-SystemClock_Config-RCC-false-HAL-false,3-MX_SPI1_Init-SPI1-false-HAL-true,4-MX_DMA_Init-DMA-false-HAL-true,5-MX_USART1_UART_Init-USART1-false-HAL-true +RCC.ADCFreq_Value=64000000 +RCC.AHBFreq_Value=80000000 +RCC.APB1Freq_Value=80000000 +RCC.APB1TimFreq_Value=80000000 +RCC.APB2Freq_Value=80000000 +RCC.APB2TimFreq_Value=80000000 +RCC.CortexFreq_Value=80000000 +RCC.FCLKCortexFreq_Value=80000000 RCC.FamilyName=M +RCC.HCLKFreq_Value=80000000 RCC.HSE_VALUE=8000000 RCC.HSI48_VALUE=48000000 RCC.HSI_VALUE=16000000 -RCC.IPParameters=FamilyName,HSE_VALUE,HSI48_VALUE,HSI_VALUE,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MSI_VALUE,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSAI1PoutputFreq_Value,PLLSAI1QoutputFreq_Value,PLLSAI1RoutputFreq_Value,SAI1Freq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAI1OutputFreq_Value +RCC.I2C1Freq_Value=80000000 +RCC.I2C3Freq_Value=80000000 +RCC.IPParameters=ADCFreq_Value,AHBFreq_Value,APB1Freq_Value,APB1TimFreq_Value,APB2Freq_Value,APB2TimFreq_Value,CortexFreq_Value,FCLKCortexFreq_Value,FamilyName,HCLKFreq_Value,HSE_VALUE,HSI48_VALUE,HSI_VALUE,I2C1Freq_Value,I2C3Freq_Value,LPTIM1Freq_Value,LPTIM2Freq_Value,LPUART1Freq_Value,LSCOPinFreq_Value,LSE_VALUE,LSI_VALUE,MCO1PinFreq_Value,MSI_VALUE,PLLN,PLLPoutputFreq_Value,PLLQoutputFreq_Value,PLLRCLKFreq_Value,PLLSAI1PoutputFreq_Value,PLLSAI1QoutputFreq_Value,PLLSAI1RoutputFreq_Value,PLLSourceVirtual,PWRFreq_Value,RNGFreq_Value,SAI1Freq_Value,SWPMI1Freq_Value,SYSCLKFreq_VALUE,SYSCLKSource,USART1Freq_Value,USART2Freq_Value,USBFreq_Value,VCOInputFreq_Value,VCOOutputFreq_Value,VCOSAI1OutputFreq_Value +RCC.LPTIM1Freq_Value=80000000 +RCC.LPTIM2Freq_Value=80000000 +RCC.LPUART1Freq_Value=80000000 RCC.LSCOPinFreq_Value=32000 RCC.LSE_VALUE=32768 RCC.LSI_VALUE=32000 +RCC.MCO1PinFreq_Value=80000000 RCC.MSI_VALUE=4000000 -RCC.PLLPoutputFreq_Value=4571428.571428572 -RCC.PLLQoutputFreq_Value=16000000 -RCC.PLLRCLKFreq_Value=16000000 -RCC.PLLSAI1PoutputFreq_Value=4571428.571428572 -RCC.PLLSAI1QoutputFreq_Value=16000000 -RCC.PLLSAI1RoutputFreq_Value=16000000 -RCC.SAI1Freq_Value=4571428.571428572 -RCC.VCOInputFreq_Value=4000000 -RCC.VCOOutputFreq_Value=32000000 -RCC.VCOSAI1OutputFreq_Value=32000000 -SPI1.CalculateBaudRate=2.0 MBits/s +RCC.PLLN=10 +RCC.PLLPoutputFreq_Value=22857142.85714286 +RCC.PLLQoutputFreq_Value=80000000 +RCC.PLLRCLKFreq_Value=80000000 +RCC.PLLSAI1PoutputFreq_Value=18285714.285714287 +RCC.PLLSAI1QoutputFreq_Value=64000000 +RCC.PLLSAI1RoutputFreq_Value=64000000 +RCC.PLLSourceVirtual=RCC_PLLSOURCE_HSI +RCC.PWRFreq_Value=80000000 +RCC.RNGFreq_Value=64000000 +RCC.SAI1Freq_Value=18285714.285714287 +RCC.SWPMI1Freq_Value=80000000 +RCC.SYSCLKFreq_VALUE=80000000 +RCC.SYSCLKSource=RCC_SYSCLKSOURCE_PLLCLK +RCC.USART1Freq_Value=80000000 +RCC.USART2Freq_Value=80000000 +RCC.USBFreq_Value=64000000 +RCC.VCOInputFreq_Value=16000000 +RCC.VCOOutputFreq_Value=160000000 +RCC.VCOSAI1OutputFreq_Value=128000000 +SPI1.CalculateBaudRate=40.0 MBits/s SPI1.DataSize=SPI_DATASIZE_8BIT SPI1.Direction=SPI_DIRECTION_2LINES SPI1.IPParameters=VirtualType,Mode,Direction,CalculateBaudRate,DataSize SPI1.Mode=SPI_MODE_MASTER SPI1.VirtualType=VM_MASTER -USART1.IPParameters=VirtualMode-Asynchronous +USART1.BaudRate=921600 +USART1.IPParameters=VirtualMode-Asynchronous,BaudRate USART1.VirtualMode-Asynchronous=VM_ASYNC VP_SYS_VS_Systick.Mode=SysTick VP_SYS_VS_Systick.Signal=SYS_VS_Systick