Skip to content

Commit

Permalink
Add prototypes of initialization and recording functions
Browse files Browse the repository at this point in the history
  • Loading branch information
Denisiuse committed Dec 7, 2024
1 parent 0830653 commit 5560046
Showing 1 changed file with 48 additions and 0 deletions.
48 changes: 48 additions & 0 deletions src/drivers/m24512/m24512.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#define M24512_H

#include <stdint.h>
#include "i2c.h" // Добавляем включение i2c.h

/** @brief Базовый адрес устройства M24512 на шине I2C */
#define M24512_BASE_ADDR 0xA0
Expand Down Expand Up @@ -48,4 +49,51 @@ uint8_t M24512_WriteByte(uint16_t addr, uint8_t data);
*/
uint8_t M24512_ReadByte(uint16_t addr, uint8_t* data);

// Прототипы функций I2C, используемых в драйвере.
// Эти функции должны быть определены в i2c.c и i2c.h

/**
* @brief Инициирует I2C Start condition.
*/
void I2C_Start(void);

/**
* @brief Инициирует I2C Stop condition.
*/
void I2C_Stop(void);

/**
* @brief Отправляет I2C адрес устройства и ожидает подтверждения (ACK).
*
* @param[in] address Адрес устройства на шине I2C.
* @return uint8_t Результат операции:
* - 0: успешно (получен ACK)
* - 1: ошибка (получен NACK или тайм-аут)
*/
uint8_t I2C_WriteAddress(uint8_t address);

/**
* @brief Отправляет байт данных и ожидает подтверждения (ACK).
*
* @param[in] data Байт данных для отправки.
* @return uint8_t Результат операции:
* - 0: успешно (получен ACK)
* - 1: ошибка (получен NACK или тайм-аут)
*/
uint8_t I2C_WriteData(uint8_t data);

/**
* @brief Читает байт данных и отправляет NACK (Not Acknowledge).
*
* @return uint8_t Прочитанный байт данных.
*/
uint8_t I2C_ReadData_NACK(void);

/**
* @brief Задержка на указанное количество миллисекунд.
*
* @param[in] ms Время задержки в миллисекундах.
*/
void delay(uint32_t ms);

#endif /* M24512_H */

1 comment on commit 5560046

@RadioPizza
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Прототипы функций для работы с I2C здесь лишние, они уже есть в заголовочном файле библиотеки I2C. С delay() - аналогично.

Please sign in to comment.