[an error occurred while processing this directive]
|
Доброго времени суток!
Если Вам не трудно подскажите, что именно я делаю не так.
Инициализирую внешний кристал:
230 Cygnal, кристал все тот же 11.059 мегагерц
void ESYSCLK_Init (void)
{
BYTE i;
OSCXCN = 0x67;
for (i = 255; i; i--);
while (!(OSCXCN & 0x80));
OSCICN = 0x88;
RESET_WDT;
}
порты ввода-вывода
void Port_Init(void)
{
RESET_WDT;
PRT0MX = 0xFD; // PRT0MX: Initial Reset Value
PRT0CF = 0x01; // Output configuration for P0
}
Сам UART на mode1 2400 8N1:
void UART_Init (void)
{
SCON = 0x52; // SCON: mode 1, 8-bit UART, enable RX
RCAP2H = 0xFF; // Timer 2 Capture Register High Byte
RCAP2L = 0xF2; // Timer 2 Capture Register Low Byte
TH2 = 0x00; // Timer 2 High Byte
TL2 = 0x00; // Timer 2 Low Byte
T2CON = 0x34; // Timer 2 Control Register
PCON |= 0x80; // SMOD = 1
ES = 1;
TI = 1; // Indicate TX ready
}
втупую пытаюсь в цикле делать
void SendB (BYTE SendByte) // Byte Send
{
while (!TI) {RESET_WDT;};
TI = 0;
SBUF = SendByte;
}
а на другом конце провода в том же режиме не могу ничего поймать...
E-mail: info@telesys.ru