Кстати о птичках, а откуда уверенность что АСК принимается? Может это просто уровень который постоянно стоит и вы его на соответствующий тик воспринимаете как АСК?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено колян безпарольныи 23 октября 2004 г. 15:16
В ответ на: Проблема - обмен по I2C микроконтроллер CYGNAL (C8051F000) отправлено G300 23 октября 2004 г. 11:00

Впринципе проблема у сигнала с и2ц есть. У меня была какраз с вашими часами. Шина какбы подвисала при инициализации и часы нихрена неотвечали.Помогло только насильственное мужеложество в виде отключения в кроссбаре и2ц и использование ножек в качестве порта общего назначения.Ими как портами формировал пограммно STOP. Вот пример из ранних, кривоват. Позднего несохранилось.

//===============================================================================
bit WaitClrBusy(void)
{unsigned char a;
a=0;
while (a<200)
{a++;
if (BUSY==0) return(1);
delay_time(100);
}
//Зависла шина
XBR0&=0xFE; //Отключить СМБуф
a=0;
while (a<200)
{a++;
SDO=1;SCL=1;
delay_time(100);
SCL=0;
delay_time(100);
SCL=1;
delay_time(100);
if (SDI==1){XBR0|=0x01; return(1);}
}
return(0);
}

void SmbInit(void)
{
SMB0CN = 0x00; // SMBus Control Register
SMB0ADR = 0x00; // SMBus Address Register
SMB0CR = 148; // SMBus Clock Rate Register
SMB0DAT=Write;
SMB0CN = 0x40; // SMBus Control Register
XBR0|=0x01;
WaitClrBusy();
}


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

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru