This commit is contained in:
2025-08-08 14:33:05 +03:00
parent 5ef69ec6c7
commit b75fc68c80
3 changed files with 14 additions and 2 deletions

View File

@@ -28,7 +28,7 @@ extern "C"
AVR_ERR_NOT_ALLOWED AVR_ERR_NOT_ALLOWED
} avr_err_t; } avr_err_t;
avr_err_t zh_avr_i2c_master_init(void); avr_err_t zh_avr_i2c_master_init(const bool pullup);
avr_err_t zh_avr_i2c_master_transmit(const uint8_t addr, uint8_t *data, uint8_t size, size_t delay); avr_err_t zh_avr_i2c_master_transmit(const uint8_t addr, uint8_t *data, uint8_t size, size_t delay);
avr_err_t zh_avr_i2c_master_receive(const uint8_t addr, uint8_t *data, uint8_t size, size_t delay); avr_err_t zh_avr_i2c_master_receive(const uint8_t addr, uint8_t *data, uint8_t size, size_t delay);
avr_err_t zh_avr_i2c_master_transmit_receive(const uint8_t addr, uint8_t *write_data, uint8_t write_size, uint8_t *read_data, uint8_t read_size, size_t delay); avr_err_t zh_avr_i2c_master_transmit_receive(const uint8_t addr, uint8_t *write_data, uint8_t write_size, uint8_t *read_data, uint8_t read_size, size_t delay);

1
version.txt Normal file
View File

@@ -0,0 +1 @@
1.0.0

View File

@@ -1,7 +1,18 @@
#include "zh_avr_i2c.h" #include "zh_avr_i2c.h"
avr_err_t zh_avr_i2c_master_init(void) avr_err_t zh_avr_i2c_master_init(const bool pullup)
{ {
i2c_PORT |= 1 << i2c_SCL | 1 << i2c_SDA; // Включим подтяжку на ноги, вдруг юзер на резисторы пожмотился
i2c_DDR &= ~(1 << i2c_SCL | 1 << i2c_SDA);
DDRC &= ~(1 << PORTC5 | 1 << PORTC4);
if (pullup == true)
{
PORTC |= 1 << PORTC5 | 1 << PORTC4;
}
TWBR = 0x80; // Настроим битрейт
TWSR = 0x00;
} }
avr_err_t zh_avr_i2c_master_transmit(const uint8_t addr, uint8_t *data, uint8_t size, size_t delay) avr_err_t zh_avr_i2c_master_transmit(const uint8_t addr, uint8_t *data, uint8_t size, size_t delay)