درود به همه دوستان
من تا حالا با USART2 ATMEGA64 کار نکرده بودم . حالا یک مشکل دارم
برای ارسال و دریافت با USART0 مشکلی ندارم . توی USART1 مشکلی با دریافت ندارم
ولی وقتی چیزی میسفرستم چیزی نمیفرسته ؟؟؟ این هم یک برنامه ساده ؟؟؟
[PHP]
#include <mega64a.h>
#include <stdio.h>
#include <delay.h>
interrupt [USART0_RXC] void usart0_rx_isr(void)
{
char data;
data=UDR0;
UDR1=data;
}
//------------------------
interrupt [USART1_RXC] void usart1_rx_isr(void)
{
char data;
data=UDR1;
UDR0=data;
}
void main(void)
{
PORTD=0xff;
// USART0 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART0 Receiver: On
// USART0 Transmitter: On
// USART0 Mode: Asynchronous
// USART0 Baud Rate: 9600
UCSR0A=0x00;
UCSR0B=0x98;
UCSR0C=0x06;
UBRR0H=0x00;
UBRR0L=0x33;
// USART1 initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART1 Receiver: On
// USART1 Transmitter: Off
// USART1 Mode: Asynchronous
// USART1 Baud Rate: 9600
UCSR1A=0x00;
UCSR1B=0x90;
UCSR1C=0x06;
UBRR1H=0x00;
UBRR1L=0x33;
#asm("sei")
while (1)
{
UDR1=0x55;
delay_ms(1000);
}
}
[/PHP]