有atmega162的双串口程序么?
我这里涉及到一个东西,需要把从串口1收到的数据从串口2发到计算机,反之,把从计算机发到串口2的数据发送到串口1。有人能够帮我么?有没有这样的例子?计算机<=====串口2<========串口1
计算机=====>串口2========>串口1 具体的程序很简单。
协议自己定。
#pragma interrupt_handler uart1_tx_isr:33
void uart1_tx_isr(void)
{
i++;
if (transmit_to_card==0xff) {transmit_to_card_flag=0;return;};
while (!(UCSR1A&(1<<UDRE1)));
UDR1=transmit_to_card; //character has been transmitted
}
UDR1=0x09;
while (!(UCSR1A&(1<<UDRE1)));
{};
while (transmit_to_card_flag)
{};
在中断里送数,自己看着弄吧,不难。
#pragma interrupt_handler uart1_rx_isr:31
void uart1_rx_isr(void)
{
while(!(UCSR1A& (1<<RXC1)));
receive_from_card=UDR1;//uart has received a character in UDR
if (receive_from_card==0x09) {i=0x00;receive_from_card=0x09;}
if (receive_from_card==0x0d) receive_from_card_flag=0x00;
i++;
}
这是我的程序,肯定是通的,你拿去修改一下吧。 谢谢,不过我要求的是实时实现,要求
计算机<=====串口2<========串口1
计算机=====>串口2========>串口1
要求把串口1收到的数据立即都发送到串口2,同时串口2收到的数据立即发送到串口1。
谢谢了!
千恩万谢! 真不明白这个东西要单片机有什么用,如果不用单片机进行数据处理,两个串口间加个光藕就好了。 erkin ,高手! http://cache.amobbs.com/bbs_upload782111/files_9/ourdev_259805.JPG
(原文件名:Atmega162-2URATR -DATA.JPG)
系统工程这样时就需要双通讯口.
lyxer 你的要求呢? 发过来看看! 学习了 {:shutup:}{:huffy:}
页:
[1]