单片机串行通讯中,向PC发送数据能不能产生串行中断??

接收PC来的数据是可以产生穿行中断的,穿行中断的实际用途是不是主要用来处理接收来的数据的

1. 向PC发送数据可以产生串口中断
2. 串口的中断即可用来处理数据接收,也可以处理数据发送。这种使用中断方式处理的接收和发送,不占用主循环时间,适合于多任务系统。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-09-21
发送中断其实是 发送区空产生中断,不知道你用什么单片机。

比如AVR系列的,如果开启了发送缓冲区空中断,就会产生发送中断,就是说

发送缓冲区中没有数据时就会产生中断,这时就可以去转去处理要发送的数据,送至缓冲区就去发送,发送完毕就空了,所以又中断,因此就像是发送中断
第2个回答  2011-09-21
发送、接收,都可以采用中断方式。
有些人,编写程序时,仅仅用中断方式来接收数据,发送的时候,偏偏要用查询方式。
这样就会耽误时间,造成数据的遗失。
下面的问题,就说明了这两种编程方法的不同情况:
http://zhidao.baidu.com/question/320858150.html追问

你说的接收数据使用的中断是串行中断吧,那发送数据用什么??可不可以不用中断,直接发送,然后利用发送完成标志位确定发送完成,这样不行吗?非得在串行诊断中发送数据吗?

追答

可不可以不用中断,直接发送,然后利用发送完成标志位确定发送完成,这样不行吗?
----
这样,就在那死等,会造成遗失数据的现象,上面的问题,已经说明了这一点。

第3个回答  2011-09-21
可以发也可以收,但是一般在发送时单片机做为主角习惯等待发送完,用查询方式。
第4个回答  2011-09-22
你的程序根本就没有写串口中断程序,但是你却开了串行中断,这样程序就会跑飞的

两种方法,第一你不使用中断
第二你再补上一个串行中断

SCON = 0x50; //串行工作方式1, 8位异步通信方式
TMOD |= 0x20; //定时器1, 方式 2, 8位自动重装
PCON = 0x00; //SMOD=1,表示数据传输率加倍
TH1 = 0xFD; //数据传输率:9600 fosc=11.0592MHz
//IE |= 0x90; //允许串行中断
TR1 = 1; //启动定时器1
TI= 0;
RI=0;
相似回答