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

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

модуля 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


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






Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_320.html on line 178

Warning: include(./news.php) [function.include]: failed to open stream: No such file or directory in /var/www/picprof/data/www/picprof.com/book/book4_320.html on line 178

Warning: include() [function.include]: Failed opening './news.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/picprof/data/www/picprof.com/book/book4_320.html on line 178