1.0 worked version

This commit is contained in:
2022-01-31 00:20:09 +03:00
parent 5fc1ea7550
commit b8fe158640
8 changed files with 53 additions and 20 deletions

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
Debug
Release
.settings
*.launch
mx.scratch

View File

@@ -9,17 +9,17 @@ CDefines=USE_HAL_DRIVER;STM32L432xx;USE_HAL_DRIVER;USE_HAL_DRIVER;
[PreviousGenFiles]
AdvancedFolderStructure=true
HeaderFileListSize=3
HeaderFiles#0=C:/shared_ubuntu/STMGyro/Core/Inc/stm32l4xx_it.h
HeaderFiles#1=C:/shared_ubuntu/STMGyro/Core/Inc/stm32l4xx_hal_conf.h
HeaderFiles#2=C:/shared_ubuntu/STMGyro/Core/Inc/main.h
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
HeaderFolderListSize=1
HeaderPath#0=C:/shared_ubuntu/STMGyro/Core/Inc
HeaderPath#0=C:/Users/Maxim/Documents/STMGyro/Core/Inc
HeaderFiles=;
SourceFileListSize=3
SourceFiles#0=C:/shared_ubuntu/STMGyro/Core/Src/stm32l4xx_it.c
SourceFiles#1=C:/shared_ubuntu/STMGyro/Core/Src/stm32l4xx_hal_msp.c
SourceFiles#2=C:/shared_ubuntu/STMGyro/Core/Src/main.c
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
SourceFolderListSize=1
SourcePath#0=C:/shared_ubuntu/STMGyro/Core/Src
SourcePath#0=C:/Users/Maxim/Documents/STMGyro/Core/Src
SourceFiles=;

View File

@@ -57,6 +57,7 @@ void PendSV_Handler(void);
void SysTick_Handler(void);
void DMA1_Channel4_IRQHandler(void);
void SPI1_IRQHandler(void);
void USART1_IRQHandler(void);
/* USER CODE BEGIN EFP */
/* USER CODE END EFP */

View File

@@ -181,8 +181,8 @@ int8_t status_mes(uint8_t* pMes, size_t nLen, struct sData *pOut)
if(((pMes[0] >> 1) & 1) != ((rate_range_val >> 1) & 1) &&
((pMes[0] >> 0) & 1) != ((rate_range_val >> 1) & 1)) return (-ERROR_RATE);
rate_val = ((uint16_t)pMes[2] << 8) | pMes[1];
temp_val = ((uint16_t)pMes[4] << 8) | pMes[3];
rate_val = ((uint16_t)pMes[1] << 8) | pMes[2];
temp_val = ((uint16_t)pMes[3] << 8) | pMes[4];
if(COM_MES_RATE_RANGE_VAL == COM_MES_RATE_RANGE_75) scale_rate = SCALE_RATE_RANGE_75;

View File

@@ -18,8 +18,9 @@
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"
#include "stdio.h"
#include "gyro_mes.h"
#include "stdio.h"
#include "string.h"
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
@@ -118,7 +119,7 @@ int main(void)
{
flag_cs = 1;
CS1_ON();
int res = HAL_SPI_TransmitReceive_IT(&hspi1, (uint8_t*) (data_in), (uint8_t *) (data_out), sizeof(data_in) / sizeof(data_in[0]));
res = HAL_SPI_TransmitReceive_IT(&hspi1, (uint8_t*) (data_in), (uint8_t *) (data_out), sizeof(data_in) / sizeof(data_in[0]));
while(!flag_receive && res == 0) {
HAL_Delay(1);
}
@@ -138,6 +139,7 @@ int main(void)
while(!flag_receive && res == 0) {
HAL_Delay(1);
}
CS3_OFF();
flag_receive = 0;
/* USER CODE END WHILE */
@@ -320,16 +322,23 @@ void HAL_SPI_TxRxCpltCallback(SPI_HandleTypeDef *hspi)
struct sData data;
if(hspi == &hspi1)
{
flag_receive = 1;
int8_t res = status_mes(data_out, sizeof(data_out) / sizeof(data_out), &data);
int8_t res = status_mes(data_out, sizeof(data_out) / sizeof(data_out[0]), &data);
if(res == 0)
{
char str[40];
sprintf (str, "Gyro%u! Temp = %i; Rate = %i.", flag_cs, data.temp, data.rate);
HAL_UART_Transmit_DMA(&huart1, (uint8_t*)str, sizeof(str));
char str[41];
memset(str, 0, sizeof(str));
sprintf (str, "Gyro%u! Temp = %i; Rate = %i\r\n", flag_cs, data.temp, data.rate);
res = HAL_UART_Transmit_DMA(&huart1, (uint8_t*)str, sizeof(str) / sizeof(str[0]));
}
}
}
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) {
if(huart == &huart1)
{
flag_receive = 1;
}
}
/* USER CODE END 4 */
/**

View File

@@ -206,6 +206,9 @@ void HAL_UART_MspInit(UART_HandleTypeDef* huart)
__HAL_LINKDMA(huart,hdmatx,hdma_usart1_tx);
/* USART1 interrupt Init */
HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
HAL_NVIC_EnableIRQ(USART1_IRQn);
/* USER CODE BEGIN USART1_MspInit 1 */
/* USER CODE END USART1_MspInit 1 */
@@ -237,6 +240,9 @@ void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
/* USART1 DMA DeInit */
HAL_DMA_DeInit(huart->hdmatx);
/* USART1 interrupt DeInit */
HAL_NVIC_DisableIRQ(USART1_IRQn);
/* USER CODE BEGIN USART1_MspDeInit 1 */
/* USER CODE END USART1_MspDeInit 1 */

View File

@@ -57,6 +57,7 @@
/* External variables --------------------------------------------------------*/
extern SPI_HandleTypeDef hspi1;
extern DMA_HandleTypeDef hdma_usart1_tx;
extern UART_HandleTypeDef huart1;
/* USER CODE BEGIN EV */
/* USER CODE END EV */
@@ -227,6 +228,20 @@ void SPI1_IRQHandler(void)
/* USER CODE END SPI1_IRQn 1 */
}
/**
* @brief This function handles USART1 global interrupt.
*/
void USART1_IRQHandler(void)
{
/* USER CODE BEGIN USART1_IRQn 0 */
/* USER CODE END USART1_IRQn 0 */
HAL_UART_IRQHandler(&huart1);
/* USER CODE BEGIN USART1_IRQn 1 */
/* USER CODE END USART1_IRQn 1 */
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */

View File

@@ -51,6 +51,7 @@ NVIC.PriorityGroup=NVIC_PRIORITYGROUP_4
NVIC.SPI1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.SVCall_IRQn=true\:0\:0\:false\:false\:true\:false\:false
NVIC.SysTick_IRQn=true\:15\:0\:false\:false\:true\:false\:true
NVIC.USART1_IRQn=true\:0\:0\:false\:false\:true\:true\:true
NVIC.UsageFault_IRQn=true\:0\:0\:false\:false\:true\:false\:false
PA1.GPIOParameters=PinState,GPIO_PuPd,GPIO_Label,GPIO_ModeDefaultOutputPP
PA1.GPIO_Label=CS1
@@ -118,7 +119,7 @@ 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,5-MX_USART1_UART_Init-USART1-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
RCC.FamilyName=M
RCC.HSE_VALUE=8000000
RCC.HSI48_VALUE=48000000