15 changed files with 676 additions and 217 deletions
-
38app/.mxproject
-
52app/Core/Inc/i2c.h
-
2app/Core/Inc/stm32f4xx_hal_conf.h
-
2app/Core/Src/can.c
-
9app/Core/Src/gpio.c
-
116app/Core/Src/i2c.c
-
2app/Core/Src/main.c
-
81app/MDK-ARM/app.uvguix.h_zha
-
130app/MDK-ARM/app.uvoptx
-
177app/MDK-ARM/app.uvprojx
-
50app/MDK-ARM/startup_stm32f407xx.lst
-
4app/MDK-ARM/startup_stm32f407xx.s
-
45app/app.ioc
-
2dep/libiflytop_micro
-
183src/umain.cpp
38
app/.mxproject
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,52 @@ |
|||
/* USER CODE BEGIN Header */ |
|||
/** |
|||
****************************************************************************** |
|||
* @file i2c.h |
|||
* @brief This file contains all the function prototypes for |
|||
* the i2c.c file |
|||
****************************************************************************** |
|||
* @attention |
|||
* |
|||
* Copyright (c) 2023 STMicroelectronics. |
|||
* All rights reserved. |
|||
* |
|||
* This software is licensed under terms that can be found in the LICENSE file |
|||
* in the root directory of this software component. |
|||
* If no LICENSE file comes with this software, it is provided AS-IS. |
|||
* |
|||
****************************************************************************** |
|||
*/ |
|||
/* USER CODE END Header */ |
|||
/* Define to prevent recursive inclusion -------------------------------------*/ |
|||
#ifndef __I2C_H__ |
|||
#define __I2C_H__ |
|||
|
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
/* Includes ------------------------------------------------------------------*/ |
|||
#include "main.h" |
|||
|
|||
/* USER CODE BEGIN Includes */ |
|||
|
|||
/* USER CODE END Includes */ |
|||
|
|||
extern I2C_HandleTypeDef hi2c1; |
|||
|
|||
/* USER CODE BEGIN Private defines */ |
|||
|
|||
/* USER CODE END Private defines */ |
|||
|
|||
void MX_I2C1_Init(void); |
|||
|
|||
/* USER CODE BEGIN Prototypes */ |
|||
|
|||
/* USER CODE END Prototypes */ |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
|
|||
#endif /* __I2C_H__ */ |
|||
|
@ -0,0 +1,116 @@ |
|||
/* USER CODE BEGIN Header */ |
|||
/** |
|||
****************************************************************************** |
|||
* @file i2c.c |
|||
* @brief This file provides code for the configuration |
|||
* of the I2C instances. |
|||
****************************************************************************** |
|||
* @attention |
|||
* |
|||
* Copyright (c) 2023 STMicroelectronics. |
|||
* All rights reserved. |
|||
* |
|||
* This software is licensed under terms that can be found in the LICENSE file |
|||
* in the root directory of this software component. |
|||
* If no LICENSE file comes with this software, it is provided AS-IS. |
|||
* |
|||
****************************************************************************** |
|||
*/ |
|||
/* USER CODE END Header */ |
|||
/* Includes ------------------------------------------------------------------*/ |
|||
#include "i2c.h" |
|||
|
|||
/* USER CODE BEGIN 0 */ |
|||
|
|||
/* USER CODE END 0 */ |
|||
|
|||
I2C_HandleTypeDef hi2c1; |
|||
|
|||
/* I2C1 init function */ |
|||
void MX_I2C1_Init(void) |
|||
{ |
|||
|
|||
/* USER CODE BEGIN I2C1_Init 0 */ |
|||
|
|||
/* USER CODE END I2C1_Init 0 */ |
|||
|
|||
/* USER CODE BEGIN I2C1_Init 1 */ |
|||
|
|||
/* USER CODE END I2C1_Init 1 */ |
|||
hi2c1.Instance = I2C1; |
|||
hi2c1.Init.ClockSpeed = 400000; |
|||
hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2; |
|||
hi2c1.Init.OwnAddress1 = 0; |
|||
hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT; |
|||
hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE; |
|||
hi2c1.Init.OwnAddress2 = 0; |
|||
hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE; |
|||
hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE; |
|||
if (HAL_I2C_Init(&hi2c1) != HAL_OK) |
|||
{ |
|||
Error_Handler(); |
|||
} |
|||
/* USER CODE BEGIN I2C1_Init 2 */ |
|||
|
|||
/* USER CODE END I2C1_Init 2 */ |
|||
|
|||
} |
|||
|
|||
void HAL_I2C_MspInit(I2C_HandleTypeDef* i2cHandle) |
|||
{ |
|||
|
|||
GPIO_InitTypeDef GPIO_InitStruct = {0}; |
|||
if(i2cHandle->Instance==I2C1) |
|||
{ |
|||
/* USER CODE BEGIN I2C1_MspInit 0 */ |
|||
|
|||
/* USER CODE END I2C1_MspInit 0 */ |
|||
|
|||
__HAL_RCC_GPIOB_CLK_ENABLE(); |
|||
/**I2C1 GPIO Configuration |
|||
PB6 ------> I2C1_SCL |
|||
PB7 ------> I2C1_SDA |
|||
*/ |
|||
GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7; |
|||
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; |
|||
GPIO_InitStruct.Pull = GPIO_NOPULL; |
|||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; |
|||
GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; |
|||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
|||
|
|||
/* I2C1 clock enable */ |
|||
__HAL_RCC_I2C1_CLK_ENABLE(); |
|||
/* USER CODE BEGIN I2C1_MspInit 1 */ |
|||
|
|||
/* USER CODE END I2C1_MspInit 1 */ |
|||
} |
|||
} |
|||
|
|||
void HAL_I2C_MspDeInit(I2C_HandleTypeDef* i2cHandle) |
|||
{ |
|||
|
|||
if(i2cHandle->Instance==I2C1) |
|||
{ |
|||
/* USER CODE BEGIN I2C1_MspDeInit 0 */ |
|||
|
|||
/* USER CODE END I2C1_MspDeInit 0 */ |
|||
/* Peripheral clock disable */ |
|||
__HAL_RCC_I2C1_CLK_DISABLE(); |
|||
|
|||
/**I2C1 GPIO Configuration |
|||
PB6 ------> I2C1_SCL |
|||
PB7 ------> I2C1_SDA |
|||
*/ |
|||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_6); |
|||
|
|||
HAL_GPIO_DeInit(GPIOB, GPIO_PIN_7); |
|||
|
|||
/* USER CODE BEGIN I2C1_MspDeInit 1 */ |
|||
|
|||
/* USER CODE END I2C1_MspDeInit 1 */ |
|||
} |
|||
} |
|||
|
|||
/* USER CODE BEGIN 1 */ |
|||
|
|||
/* USER CODE END 1 */ |
81
app/MDK-ARM/app.uvguix.h_zha
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1 +1 @@ |
|||
Subproject commit 689e4620ef77fb1ea26ba5cb1ce002d29be6c4ad |
|||
Subproject commit fb4426557e187f3f0ce98d8220a995f27f6258ad |
Write
Preview
Loading…
Cancel
Save
Reference in new issue