#include
#include
int k=0,i=0,j=0;
char s[4];
/*
*程序的作用是将电脑端发送过来的数据再发送回去
*/
void usart0_init()
{
UCSR0A=0X00;
UCSR0B = 0x00;
UCSR0C=0X00;
UCSR0C=(1<
UBRR0H=0;
UCSR0B=(1<
DDRE=0X02; //单片机端口RX0与TX0要有作用,RX0对应的PE扣设为输入模式,且要上拉有效,TX0要设为输出模式
}
int main(void)
{
DDRA=0XFF;
PORTA=0XFF;
DDRB=0XFF;
PORTB=0X00;
usart0_init();
sei();
while(1)
{
PORTA=(s[0]<<8)+s[0];
}
}
/*
*接收结束中断
*/
ISR(USART0_RX_vect)
{
cli();
if(i<2)
{
s[i]=UDR0;//每次接受4个字符
i++;
}
else
{
i=0;
while(!(UCSR0A&(1<
UDR0=s[0];
}
}
/*
*发送结束中断
*/
ISR(USART0_TX_vect)
{
cli();
j++;
while(!(UCSR0A&(1<
else j=0;
sei();
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』