- #include "stm32f1xx_hal.h"
- I2C_HandleTypeDef hi2c1;
- void SystemClock_Config(void);
- int main(void) {
- HAL_Init();
- SystemClock_Config();
- MX_I2C1_Init();
- while (1) {
- // Your main code here
- }
- }
- void SystemClock_Config(void) {
- // Configure the system clock
- // ...
- // Configure the peripheral clocks
- // ...
- }
- void MX_I2C1_Init(void) {
- hi2c1.Instance = I2C1;
- hi2c1.Init.ClockSpeed = 1000000; // 1MHz
- 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();
- }
- }
|