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

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

Отправлено SergQ 05 июня 2006 г. 15:13

Пытаюсь связать по i2c mega128 и attyny2313.
Для mega128 код беру из апнота AVR315(мастер), B attyny2313 - AVR312 без изменений.


МАСТЕР:
кварц 14,318МГц
#define TWI_TWBR 0x40
...
TWI_Master_Initialise();
__enable_interrupt();
...
if(...)
{
// Send a Address Call, sending a command and data to the Slave
unsigned char messageBuf[4];
unsigned char TWI_targetSlaveAddress= 0x10;
messageBuf[0] = (TWI_targetSlaveAddress<// The first byte must always consit of General Call code or the TWI slave address.
messageBuf[1] = TWI_CMD_MASTER_WRITE;// The first byte is used for commands.
messageBuf[2] = data;// The second byte is used for the data.
TWI_Start_Transceiver_With_Data( messageBuf, 3 );
}

если не подключать слэйв, то при вызове передачи на линиях SCL и SDA пробегают импульсы; SCL почему-то после первй передачи
падает в "0". С подключенным слейвом на SCL устанавливается генерация импульсов около 63кГц до ресета; при повторной передаче мега виснет.
Что не так делаю?
Почему странная частота SCL ? По формуле и таблице должна быть 100кГц: 14318/(16+ 2*64) = 99,4
и почему в AVR315 TWI_TWPS не определен?:
// Not used defines!
//#define TWI_TWPS 0x00 // This driver presumes prescaler = 00

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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru