Я пытаюсь получить данные через uart Attiny167 в режиме прерывания со скоростью 57600 бод, но когда я отлаживаю программу, я получаю только CR
& LF
, я не получаю данных, почему это происходит в этом контроллере. Ниже приведен мой код:
#define CPU_CLOCK_FREQ 8000000UL
#define SAMPLES_PER_BIT 8
#define BAUD_RATE 57600
ISR(LIN_TC_vect)
{
cli();
temp=LINDAT;
buff[i]=temp;
i++;
sei();
}
void USARTInit()
{
DDRA = 0x02; // Port A Rx / Tx as input / output for PIN0 and PIN1
/* Set PORTB as input from FACS MAin BOX on PIN0 and PIN1 , initially high */
DDRB = 0x00;
PORTB= 0xFF;
/* Set samples per bit and UART baud */
LINBTR = (1 << LDISR) | SAMPLES_PER_BIT;
LINBRR = (((CPU_CLOCK_FREQ) / SAMPLES_PER_BIT) / BAUD_RATE) - 1;
/* Configure LIN UART in UART mode */
LINCR = (1 << LENA) | (1 << LCMD0) | (1 << LCMD1) | (1 << LCMD2);
// enable transmit and recieve interrupts for LIN/UART transfer
LINENIR = (1 << LENRXOK);
sei();
}
пожалуйста помоги.