|
мало ли что юзер перед этим наворотил.
SMBus тактируется и от Т0 так же легко и непренужденно, -
void Init_SMBus (void)
{
SMB0CF = 0x5С; // SMBCS0 & SMBCS1 zero
// use Timer0 overflows
SMB0CF |= 0x80; // Enable SMBus;
}
// T0 configured as the SMBus clock source
void Timer0_reInit (void)
{
TR0 = 0; // Timer0 disabled
CKCON &= ~0x0b; // Timer0 clock source = SYSCLK / 12
TMOD &= ~0x05;
TMOD |= 0x02; // Timer0 in 8-bit auto-reload mode
TH0 = -(SYSCLK/SMB_FREQUENCY/12/3); // Timer0 configured to overflow at 1/3
// the rate defined by SMB_FREQUENCY
TL0 = TH0; // Init Timer0
TR0 = 1; // Timer0 enabled
}
E-mail: info@telesys.ru