搜索
bottom↓
回复: 7

有atmega162的双串口程序么?

[复制链接]

出0入0汤圆

发表于 2006-1-24 20:13:33 | 显示全部楼层 |阅读模式
我这里涉及到一个东西,需要把从串口1收到的数据从串口2发到计算机,反之,把从计算机发到串口2的数据发送到串口1。有人能够帮我么?有没有这样的例子?



计算机<=====串口2<========串口1

计算机=====>串口2========>串口1

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2006-1-24 20:19:49 | 显示全部楼层
具体的程序很简单。

协议自己定。

#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++;

}

这是我的程序,肯定是通的,你拿去修改一下吧。

出0入0汤圆

 楼主| 发表于 2006-1-24 20:45:39 | 显示全部楼层
谢谢,不过我要求的是实时实现,要求



计算机<=====串口2<========串口1

计算机=====>串口2========>串口1





要求把串口1收到的数据立即都发送到串口2,同时串口2收到的数据立即发送到串口1。



谢谢了!

千恩万谢!

出0入0汤圆

发表于 2006-1-25 11:07:57 | 显示全部楼层
真不明白这个东西要单片机有什么用,如果不用单片机进行数据处理,两个串口间加个光藕就好了。

出0入0汤圆

发表于 2008-4-24 15:23:23 | 显示全部楼层
erkin ,高手!

出0入0汤圆

发表于 2008-4-24 15:25:30 | 显示全部楼层

(原文件名:Atmega162  -2URATR -DATA.JPG)


系统工程这样时就需要双通讯口.

lyxer 你的要求呢? 发过来看看!

出0入0汤圆

发表于 2008-6-25 04:19:18 | 显示全部楼层
学习了

出0入0汤圆

发表于 2013-4-11 18:00:35 | 显示全部楼层
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-24 03:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表