Implementation of pico i2c driver.
More...
#include "no_os_util.h"
#include "no_os_error.h"
#include "no_os_alloc.h"
#include "pico_i2c.h"
#include "pico/stdlib.h"
Implementation of pico i2c driver.
- Author
- RBolboac (ramon.nosp@m.a.bo.nosp@m.lboac.nosp@m.a@an.nosp@m.alog..nosp@m.com)
Copyright 2022(c) Analog Devices, Inc.
SPDX-License-Identifier: BSD-3-Clause
◆ PICO_I2C_MAX_INSTANCES
| #define PICO_I2C_MAX_INSTANCES 2U |
◆ pico_i2c_init()
Initialize the I2C communication peripheral.
- Parameters
-
| desc | - The I2C descriptor. |
| param | - The structure that contains the I2C parameters. |
- Returns
- 0 in case of success, error code otherwise.
◆ pico_i2c_read()
| int32_t pico_i2c_read |
( |
struct no_os_i2c_desc * | desc, |
|
|
uint8_t * | data, |
|
|
uint8_t | bytes_number, |
|
|
uint8_t | stop_bit ) |
I2C read transaction as master.
- Parameters
-
| desc | - The I2C descriptor. |
| data | - The buffer where received data is to be stored. |
| bytes_number | - Number of bytes to receive. |
| stop_bit | - Specifies whether to end the transaction with a stop bit. |
- Returns
- 0 in case of success, error code otherwise.
◆ pico_i2c_remove()
Free the resources allocated by no_os_i2c_init().
- Parameters
-
| desc | - The I2C descriptor. |
- Returns
- 0 in case of success, error code otherwise.
◆ pico_i2c_write()
| int32_t pico_i2c_write |
( |
struct no_os_i2c_desc * | desc, |
|
|
uint8_t * | data, |
|
|
uint8_t | bytes_number, |
|
|
uint8_t | stop_bit ) |
I2C write transaction as master.
- Parameters
-
| desc | - The I2C descriptor. |
| data | - The buffer with the data to transmit. |
| bytes_number | - Number of bytes in the buffer. |
| stop_bit | - Specifies whether to end the transaction with a stop bit. |
- Returns
- 0 in case of success, error code otherwise.
◆ pico_i2c_ops
Initial value:= {
}
int32_t pico_i2c_remove(struct no_os_i2c_desc *desc)
Free the resources allocated by no_os_i2c_init().
Definition pico_i2c.c:99
int32_t pico_i2c_init(struct no_os_i2c_desc **desc, const struct no_os_i2c_init_param *param)
Initialize the I2C communication peripheral.
Definition pico_i2c.c:39
int32_t pico_i2c_write(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C write transaction as master.
Definition pico_i2c.c:123
int32_t pico_i2c_read(struct no_os_i2c_desc *desc, uint8_t *data, uint8_t bytes_number, uint8_t stop_bit)
I2C read transaction as master.
Definition pico_i2c.c:161
pico platform specific I2C platform ops structure
pico specific I2C platform ops structure