LibDriver AT24CXX
Loading...
Searching...
No Matches
driver_at24cxx_basic.c
Go to the documentation of this file.
1
37
39
40static at24cxx_handle_t gs_handle;
41
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
106uint8_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
129uint8_t at24cxx_basic_write(uint32_t address, uint8_t *buf, uint16_t len)
130{
131 /* write 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
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
struct at24cxx_handle_s at24cxx_handle_t
at24cxx handle structure definition
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