XWOS API
4.0
XWOS C/C++ API参考手册
|
I2C EEPROM 驱动 更多...
#include <xwos/standard.h>
#include <xwcd/ds/i2c/peripheral.h>
#include <xwcd/peripheral/i2c/eeprom/device.h>
结构体 | |
struct | xwds_eeprom_driver |
EEPROM驱动函数表 更多... | |
const struct xwds_eeprom_driver | at24sd_drv |
const struct xwds_eeprom_driver | at24md_drv |
xwer_t | xwds_eeprom_drv_start (struct xwds_device *dev) |
EEPROM基本驱动:启动设备 | |
xwer_t | xwds_eeprom_drv_stop (struct xwds_device *dev) |
EEPROM基本驱动:停止设备 | |
xwer_t | xwds_eeprom_drv_resume (struct xwds_device *dev) |
EEPROM基本驱动:暂停设备 | |
xwer_t | xwds_eeprom_drv_suspend (struct xwds_device *dev) |
EEPROM基本驱动:继续设备 | |
xwer_t | xwds_eeprom_power_on (struct xwds_eeprom *eeprom) |
EEPROM API:开启EEPROM的电源 | |
xwer_t | xwds_eeprom_power_off (struct xwds_eeprom *eeprom) |
EEPROM API:关闭EEPROM的电源 | |
xwer_t | xwds_eeprom_wp_enable (struct xwds_eeprom *eeprom) |
EEPROM API:开启EEPROM的写保护 | |
xwer_t | xwds_eeprom_wp_disable (struct xwds_eeprom *eeprom) |
EEPROM API:关闭EEPROM的写保护 | |
xwer_t | xwds_eeprom_putc (struct xwds_eeprom *eeprom, xwu8_t data, xwsq_t addr, xwtm_t to) |
EEPROM API:写一个字节到EEPROM | |
xwer_t | xwds_eeprom_getc (struct xwds_eeprom *eeprom, xwu8_t *buf, xwsq_t addr, xwtm_t to) |
EEPROM API:从EEPROM中读取一个字节 | |
xwer_t | xwds_eeprom_pgwrite (struct xwds_eeprom *eeprom, xwu8_t *data, xwsz_t *size, xwsq_t pgidx, xwtm_t to) |
EEPROM API:写一页数据到EEPROM | |
xwer_t | xwds_eeprom_pgread (struct xwds_eeprom *eeprom, xwu8_t *buf, xwsz_t *size, xwsq_t pgidx, xwtm_t to) |
EEPROM API:从EEPROM读一页数据 | |
xwer_t | xwds_eeprom_reset (struct xwds_eeprom *eeprom, xwtm_t to) |
EEPROM API:复位EEPROM的I2C总线 | |
I2C EEPROM 驱动
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
在文件 driver.h 中定义.
xwer_t xwds_eeprom_drv_resume | ( | struct xwds_device * | dev | ) |
EEPROM基本驱动:暂停设备
xwer_t xwds_eeprom_drv_start | ( | struct xwds_device * | dev | ) |
EEPROM基本驱动:启动设备
<No error
xwer_t xwds_eeprom_drv_stop | ( | struct xwds_device * | dev | ) |
EEPROM基本驱动:停止设备
<No error
xwer_t xwds_eeprom_drv_suspend | ( | struct xwds_device * | dev | ) |
EEPROM基本驱动:继续设备
xwer_t xwds_eeprom_getc | ( | struct xwds_eeprom * | eeprom, |
xwu8_t * | buf, | ||
xwsq_t | addr, | ||
xwtm_t | to | ||
) |
EEPROM API:从EEPROM中读取一个字节
[in] | eeprom | I2C EEPROM对象的指针 |
[out] | buf | 指向缓冲区的指针,通过此缓冲区返回数据 |
[in] | addr | 地址 |
[in] | to | 期望唤醒的时间点 @retrun 错误码 |
XWOK | 没有错误 |
-EINVAL | 设备对象不可引用 |
-ESHUTDOWN | 设备没有运行 |
-EADDRNOTAVAIL | 地址无响应 |
-ETIMEDOUT | 超时 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 xwer_t xwds_eeprom_pgread | ( | struct xwds_eeprom * | eeprom, |
xwu8_t * | buf, | ||
xwsz_t * | size, | ||
xwsq_t | pgidx, | ||
xwtm_t | to | ||
) |
EEPROM API:从EEPROM读一页数据
[in] | eeprom | I2C EEPROM对象的指针 |
[out] | buf | 指向缓冲区的指针,通过此缓冲区返回数据 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[in] | pgidx | 页的序号 |
[in] | to | 期望唤醒的时间点 @retrun 错误码 |
XWOK | 没有错误 |
-EINVAL | 设备对象不可引用 |
-ESHUTDOWN | 设备没有运行 |
-EADDRNOTAVAIL | 地址无响应 |
-ETIMEDOUT | 超时 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 xwer_t xwds_eeprom_pgwrite | ( | struct xwds_eeprom * | eeprom, |
xwu8_t * | data, | ||
xwsz_t * | size, | ||
xwsq_t | pgidx, | ||
xwtm_t | to | ||
) |
EEPROM API:写一页数据到EEPROM
[in] | eeprom | I2C EEPROM对象的指针 |
[in] | data | 待写入的数据的缓冲区 |
[in,out] | size | 指向缓冲区的指针,此缓冲区:
|
[in] | pgidx | 页的序号 |
[in] | to | 期望唤醒的时间点 @retrun 错误码 |
XWOK | 没有错误 |
-EINVAL | 设备对象不可引用 |
-ESHUTDOWN | 设备没有运行 |
-EADDRNOTAVAIL | 地址无响应 |
-ETIMEDOUT | 超时 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 xwer_t xwds_eeprom_power_off | ( | struct xwds_eeprom * | eeprom | ) |
EEPROM API:关闭EEPROM的电源
[in] | eeprom | I2C EEPROM对象的指针 @retrun 错误码 |
xwer_t xwds_eeprom_power_on | ( | struct xwds_eeprom * | eeprom | ) |
EEPROM API:开启EEPROM的电源
[in] | eeprom | I2C EEPROM对象的指针 @retrun 错误码 |
xwer_t xwds_eeprom_putc | ( | struct xwds_eeprom * | eeprom, |
xwu8_t | data, | ||
xwsq_t | addr, | ||
xwtm_t | to | ||
) |
EEPROM API:写一个字节到EEPROM
[in] | eeprom | I2C EEPROM对象的指针 |
[in] | data | 数据 |
[in] | addr | 地址 |
[in] | to | 期望唤醒的时间点 @retrun 错误码 |
XWOK | 没有错误 |
-EINVAL | 设备对象不可引用 |
-ESHUTDOWN | 设备没有运行 |
-EADDRNOTAVAIL | 地址无响应 |
-ETIMEDOUT | 超时 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 xwer_t xwds_eeprom_reset | ( | struct xwds_eeprom * | eeprom, |
xwtm_t | to | ||
) |
EEPROM API:复位EEPROM的I2C总线
[in] | eeprom | I2C EEPROM对象的指针 |
[in] | to | 期望唤醒的时间点 @retrun 错误码 |
XWOK | 没有错误 |
-EINVAL | 设备对象不可引用 |
-ESHUTDOWN | 设备没有运行 |
-EADDRNOTAVAIL | 地址无响应 |
-ETIMEDOUT | 超时 |
to
表示等待超时的时间点:
to
通常是未来的时间,即 当前系统时间 + delta
, 可以使用 xwtm_ft(delta)
表示;to
是过去的时间点,将直接返回 -ETIMEDOUT
。 <No error
xwer_t xwds_eeprom_wp_disable | ( | struct xwds_eeprom * | eeprom | ) |
xwer_t xwds_eeprom_wp_enable | ( | struct xwds_eeprom * | eeprom | ) |
|
extern |
|
extern |