[an error occurred while processing this directive]
Такое пойдет?(+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено =L.A.= 17 ноября 2006 г. 15:53
В ответ на: Народ а не кто не знает где можно взять или может есть у кого, готовые процедуры или библиотеки для работы с I2C и 1wire(DS1821) для IAR C AVR , не хватает времени переписывать с асм на с отправлено <font color=gray>AntiX</font> 17 ноября 2006 г. 15:49

/*
Модуль pаботы с flash-memory 24C01, 24С02.
Версия 02.00.
File 24C01.c
*/

//--------------------------------
// Вспомогательная процедура для сокращения объема программы
void BeginWrite24C01 ( unsigned char Addr )
{
Forever
{
I2CStartStop ();
I2CSend ( SlaveAddr24C01 + DevAddr24C01 * 2 ); // Slave Address + write
if ( FlagAsk ) continue;
I2CSend ( Addr );
if ( FlagAsk ) continue;
return;
}
} // BeginWrite24C01

//--------------------------------
// Подпрограмма записи вo flash. Данные в I2CData
void Write24C01 ( unsigned char Addr, unsigned char Quant )
{
unsigned char i;

for ( i = 0; i < Quant; i++ )
{
Forever
{
BeginWrite24C01 ( Addr + i );
I2CSend ( I2CData [ i ] );
if ( FlagAsk ) continue;
I2CStop ();
break;
}
}
} // Write24C01

//--------------------------------
// Подпрограмма чтения из flash (начиная с текущего адреса). Данные в I2CData
void SeqRead24C01 ( unsigned char Quant )
{
unsigned char i;

Forever
{
I2CStartStop ();
// Читаем
I2CSend ( SlaveAddr24C01 + DevAddr24C01 * 2 + 1 ); // Slave Address + read
if ( FlagAsk ) continue;
// Очистим для того, чтобы выдали и следующий байт
FlagAsk = 0;
for ( i = 0; i < Quant; i++ )
{
if ( i == Quant - 1 ) FlagAsk = 1; // Последний байт
I2CData [ i ] = I2CRead ();
}
I2CStop ();
return;
}
} // SeqRead24C01

//--------------------------------
// Подпрограмма чтения из flash. Данные в I2CData
void Read24C01 ( unsigned char Addr, unsigned char Quant )
{
BeginWrite24C01 ( Addr );
SeqRead24C01 ( Quant );
} // Read24C01



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание