MPLAB ® <strong>C18</strong> C 编 译 器 函 数 库EERandomRead功 能 : 从 I 2 C 总 线 读 取 一 个 字 节 。包 含 头 文 件 :原 型 :参 数 :说 明 :返 回 值 :文 件 名 :代 码 示 例 :i2c.hunsigned int EERandomRead(unsigned char control,unsigned char address );controlEEPROM 控 制 / 总 线 器 件 的 地 址 选 择 字 节 。addressEEPROM 的 内 部 地 址 单 元 。该 函 数 从 I 2 C 总 线 上 读 取 一 个 字 节 , 也 适 用 于 仅 需 单 字 节 地 址 信 息 的Microchip I 2 C 电 可 擦 除 存 储 器 件 。返 回 值 由 两 部 分 构 成 : 一 部 分 为 在 最 低 有 效 字 节 中 读 的 值 , 另 一 部 分 为最 高 有 效 字 节 中 的 错 误 条 件 。 错 误 条 件 为 :如 果 发 生 总 线 冲 突 错 误 , 为 -1 ;如 果 发 生 无 应 答 错 误 , 为 -2 ;如 果 发 生 写 冲 突 错 误 , 则 为 -3。i2ceerr.cunsigned int temp;temp = EERandomRead(0xA0,0x30);EESequentialRead功 能 : 从 I 2 C 总 线 上 读 取 一 个 数 据 串 。包 含 头 文 件 : i2c.h原 型 :unsigned char EESequentialRead(unsigned char control,unsigned char address,unsigned char * rdptr,unsigned char length );参 数 :controlEEPROM 控 制 / 总 线 器 件 的 地 址 选 择 字 节 。addressEEPROM 的 内 部 地 址 单 元 。rdptr指 向 存 放 从 EEPROM 器 件 中 所 读 出 数 据 的 PICmicro RAM 区 的 字 符 型指 针 。length从 EEPROM 器 件 中 读 出 的 字 节 数 。说 明 :该 函 数 从 I 2 C 总 线 上 读 取 一 个 预 定 义 长 度 的 数 据 串 , 也 适 用 于 仅 需 单 字节 地 址 信 息 的 Microchip I 2 C 电 可 擦 除 存 储 器 件 。返 回 值 : 如 果 没 有 发 生 错 误 , 为 0 ;如 果 发 生 总 线 冲 突 错 误 , 为 -1 ;如 果 发 生 无 应 答 错 误 , 为 -2 ;如 果 发 生 写 冲 突 错 误 , 则 为 -3。文 件 名 :i2ceesr.c代 码 示 例 :unsigned char err;err = EESequentialRead(0xA0,0x70,rdptr,15);DS51297C_CN 第 30 页© 2004 Microchip Technology Inc.
硬 件 外 设 函 数2.4.3 使 用 示 例下 面 是 一 个 简 单 的 代 码 示 例 , 该 程 序 举 例 说 明 了 配 置 为 I 2 C 主 通 讯 的 SSP 模 块 , 及 其和 Microchip 24LC01B I 2 C 电 可 擦 除 存 储 器 之 间 的 I 2 C 通 讯 。#include "p18cxx.h"#include "i2c.h"unsigned char arraywr[] = {1,2,3,4,5,6,7,8,0};unsigned char arrayrd[20];//***************************************************void main(void){OpenI2C(MASTER, SLEW_ON);// Initialize I2C moduleSSPADD = 9;//400kHz Baud clock(9) @16MHz//100kHz Baud clock(39) @16MHz}while(1){EEByteWrite(0xA0, 0x30, 0xA5);EEAckPolling(0xA0);EECurrentAddRead(0xA0);EEPageWrite(0xA0, 0x70, arraywr);EEAckPolling(0xA0);EESequentialRead(0xA0, 0x70, arrayrd, 20);EERandomRead(0xA0,0x30);}© 2004 Microchip Technology Inc. DS51297C_CN 第 31 页