wip:
This commit is contained in:
@@ -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
1
version.txt
Normal file
@@ -0,0 +1 @@
|
|||||||
|
1.0.0
|
13
zh_avr_i2c.c
13
zh_avr_i2c.c
@@ -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)
|
||||||
|
Reference in New Issue
Block a user