LibDriver AT24CXX  2.0.0
AT24CXX full-featured driver
driver_at24cxx_basic.c
Go to the documentation of this file.
1 
38 #include "driver_at24cxx_basic.h"
39 
40 static at24cxx_handle_t gs_handle;
52 {
53  uint8_t res;
54 
55  /* link interface function */
65 
66  /* set chip type */
67  res = at24cxx_set_type(&gs_handle, type);
68  if (res != 0)
69  {
70  at24cxx_interface_debug_print("at24cxx: set type failed.\n");
71 
72  return 1;
73  }
74 
75  /* set addr pin */
76  res = at24cxx_set_addr_pin(&gs_handle, address);
77  if (res != 0)
78  {
79  at24cxx_interface_debug_print("at24cxx: set address pin failed.\n");
80 
81  return 1;
82  }
83 
84  /* at24cxx init */
85  res = at24cxx_init(&gs_handle);
86  if (res != 0)
87  {
88  at24cxx_interface_debug_print("at24cxx: init failed.\n");
89 
90  return 1;
91  }
92 
93  return 0;
94 }
95 
106 uint8_t at24cxx_basic_read(uint32_t address, uint8_t *buf, uint16_t len)
107 {
108  /* read data */
109  if (at24cxx_read(&gs_handle, address, buf, len) != 0)
110  {
111  return 1;
112  }
113  else
114  {
115  return 0;
116  }
117 }
118 
129 uint8_t at24cxx_basic_write(uint32_t address, uint8_t *buf, uint16_t len)
130 {
131  /* read data */
132  if (at24cxx_write(&gs_handle, address, buf, len) != 0)
133  {
134  return 1;
135  }
136  else
137  {
138  return 0;
139  }
140 }
141 
149 uint8_t at24cxx_basic_deinit(void)
150 {
151  /* at24cxx deinit */
152  if (at24cxx_deinit(&gs_handle) != 0)
153  {
154  return 1;
155  }
156  else
157  {
158  return 0;
159  }
160 }
driver at24cxx basic header file
uint8_t at24cxx_set_type(at24cxx_handle_t *handle, at24cxx_t type)
set the chip type
uint8_t at24cxx_init(at24cxx_handle_t *handle)
initialize the chip
uint8_t at24cxx_read(at24cxx_handle_t *handle, uint32_t address, uint8_t *buf, uint16_t len)
read bytes from the chip
at24cxx_t
at24cxx type enumeration definition
uint8_t at24cxx_deinit(at24cxx_handle_t *handle)
close the chip
uint8_t at24cxx_write(at24cxx_handle_t *handle, uint32_t address, uint8_t *buf, uint16_t len)
write bytes to the chip
at24cxx_address_t
at24cxx address enumeration definition
uint8_t at24cxx_set_addr_pin(at24cxx_handle_t *handle, at24cxx_address_t addr_pin)
set the chip address pin
uint8_t at24cxx_basic_init(at24cxx_t type, at24cxx_address_t address)
basic example init
uint8_t at24cxx_basic_read(uint32_t address, uint8_t *buf, uint16_t len)
basic example read
uint8_t at24cxx_basic_write(uint32_t address, uint8_t *buf, uint16_t len)
basic example write
uint8_t at24cxx_basic_deinit(void)
basic example deinit
uint8_t at24cxx_interface_iic_init(void)
interface iic bus init
uint8_t at24cxx_interface_iic_write_address16(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
interface iic bus write with 16 bits register address
uint8_t at24cxx_interface_iic_write(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus write
uint8_t at24cxx_interface_iic_deinit(void)
interface iic bus deinit
void at24cxx_interface_debug_print(const char *const fmt,...)
interface print format data
uint8_t at24cxx_interface_iic_read(uint8_t addr, uint8_t reg, uint8_t *buf, uint16_t len)
interface iic bus read
void at24cxx_interface_delay_ms(uint32_t ms)
interface delay ms
uint8_t at24cxx_interface_iic_read_address16(uint8_t addr, uint16_t reg, uint8_t *buf, uint16_t len)
interface iic bus read with 16 bits register address
at24cxx handle structure definition