Предыдущая Следующая

//---------------------------------

модуля I2C

Файл 24LC64.C

//------------------------------------------------------------------------

//ПО обслуживания 24LC64

//------------------------------------------------------------------------

#include "hardware.h" // подключение специальных заголовков и определений

♦include "24LC64.h" // подключение специальных заголовков и определений

volatile extern U16 I2C_addres; //адрес ячейки 24LC64

volatile extern U8 !2Cwr_byte; //байт данных для записи в 24LC64

volatile extern U8 wr_rd; //признак записи-чтения 24LC64 (0-запись, 1-чтение)

volatile extern U8 end_rd; //признак окончания чтения 24LC64

//Функция записи байта данных в 24LC64 по произвольному адресу

void wr_byte24LC64(U8 data_l2C, U16 addr_l2C)

{

//задать адрес ячейки 24LC64 //задать байт данных для записи в 24LC64 //установить признак записи //сбросить все флаги I2C //разрешение I2C //передать условие START I2C

I2C_addres = addr_I2C; I2Cwr_byte = data_I2C; wr_rd = 0;

OxFF 0x40 0x20

I2CONCLR I2CONSET = I2CONSET }

//Функция чтения байта данных в 24LC64 по произвольному адресу

U8 rd_byte24LC64(U16 addr_l2C) .

{

//задать адрес ячейки 24LC64 //установить признак чтения //сбросить признак окончания чтения //сбросить все флаги I2C //разрешение I2C //передать условие START I2C //ожидать окончания чтения //возврат прочитанного байта

I2C_addres = addr_I2C; wr_rd = 1;

end_rd = 0; I2CONCLR = OxFF; I2C0NSET = 0x40; I2CONSET = 0x20; while (end_rd == 0); return I2DAT; }

Файл 24LC64.h

//------------------------------------------------------------------------

//Заголовки и определения обслуж 24LC64

//------------------------------------------------------------------------

#include "hardware.h" //подключение специальных заголовков и определений ♦include "i2c.h" //подключение специальных заголовков и определений

//Объявление функции записи байта данных в 24LC64 по произвольному адресу void wr_byte24LC64(U8, U16);

//Объявление функции чтения байта данных в 24LC64 по произвольному адресу U8 rd_byte24LC64(U16);

//------------------------------------------------------------------------

Файл main.c программы обмена через 12С с 24LC64

//------------------------------------------------------------------------

// Основная программа обмена данными через I2C с 24LC64

//-----------------------------------------------------------------------

tinclude <iolpc2129.h> //подключение стандартных заголовков и определений

tinclude "hardware.h" //подключение специальных заголовков и определений

tinclude "i2c.h" //подключение специальных заголовков и определений

tinclude "24LC64.h" //подключение специальных заголовков и определений

volatile extern U8 flagn_knO, flagn_knl, flagn_kn2, flagn_kn3;

volatile U8 I2C_data = 1!1; //байт данных для записи в 24LC64


Предыдущая Следующая



НА ГЛАВНУЮ | ЧТО ТАКОЕ PIC ? | ПРОГРАММАТОР | ПРОЕКТЫ | СТАТЬИ | ССЫЛКИ | КАРТА САЙТА
Hosted by uCoz