• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (c) 2022 FuZhou Lockzhiner Electronic Co., Ltd. All rights reserved.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 #ifndef _EEPROM_H_
16 #define _EEPROM_H_
17 
18 /***************************************************************
19 * 函数名称: eeprom_init
20 * 说    明: EEPROM初始化
21 * 参    数: 无
22 * 返 回 值: 0为成功,反之失败
23 ***************************************************************/
24 unsigned int eeprom_init(void);
25 
26 /***************************************************************
27 * 函数名称: eeprom_deinit
28 * 说    明: EEPROM退出
29 * 参    数: 无
30 * 返 回 值: 0为成功,反之失败
31 ***************************************************************/
32 unsigned int eeprom_deinit(void);
33 
34 /***************************************************************
35 * 函数名称: eeprom_get_blocksize
36 * 说    明: EEPROM获取页大小
37 * 参    数: 无
38 * 返 回 值: 返回页大小
39 ***************************************************************/
40 unsigned int eeprom_get_blocksize(void);
41 
42 /***************************************************************
43 * 函数名称: eeprom_readbyte
44 * 说    明: EEPROM读一个字节
45 * 参    数:
46 *           @addr: EEPROM存储地址
47 *           @data: 存放EERPOM的数据指针
48 * 返 回 值: 返回读取字节的长度,反之为错误
49 ***************************************************************/
50 unsigned int eeprom_readbyte(unsigned int addr, unsigned char *data);
51 
52 /***************************************************************
53 * 函数名称: eeprom_writebyte
54 * 说    明: EEPROM写一个字节
55 * 参    数:
56 *           @addr: EEPROM存储地址
57 *           @data: 写ERPOM的数据
58 * 返 回 值: 返回写入数据的长度,反之为错误
59 ***************************************************************/
60 unsigned int eeprom_writebyte(unsigned int addr, unsigned char data);
61 
62 /***************************************************************
63 * 函数名称: eeprom_writepage
64 * 说    明: EEPROM写1个页字节
65 * 参    数:
66 *           @addr: EEPROM存储地址,必须是页地址
67 *           @data: 写ERPOM的数据指针
68 *           @data_len: 写EEPROM数据的长度,必须是小于或等于1个页大小
69 * 返 回 值: 返回写入数据的长度,反之为错误
70 ***************************************************************/
71 unsigned int eeprom_writepage(unsigned int addr, unsigned char *data, unsigned int data_len);
72 
73 /***************************************************************
74 * 函数名称: eeprom_read
75 * 说    明: EEPROM读多个字节
76 * 参    数:
77 *           @addr: EERPOM存储地址
78 *           @data: 存放EERPOM的数据指针
79 *           @data_len: 读取EERPOM数据的长度
80 * 返 回 值: 返回读取字节的长度,反之为错误
81 ***************************************************************/
82 unsigned int eeprom_read(unsigned int addr, unsigned char *data, unsigned int data_len);
83 
84 /***************************************************************
85 * 函数名称: eeprom_write
86 * 说    明: EEPROM写多个字节
87 * 参    数:
88 *           @addr: EEPROM存储地址
89 *           @data: 写ERPOM的数据指针
90 *           @data_len: 写EEPROM数据的长度
91 * 返 回 值: 返回写入数据的长度,反之为错误
92 ***************************************************************/
93 unsigned int eeprom_write(unsigned int addr, unsigned char *data, unsigned int data_len);
94 
95 
96 #endif /* _EEPROM_H_ */