本文共 487 字,大约阅读时间需要 1 分钟。
中断方式就是在接受数据时,微控制器转入中断服务程序对接受到的数据进行处理,而查询方式就是通过查询状态寄存器中接受状态位对接收到的数据进行处理,两者在工作上的区别主要在于,中断方式微控制器可以执行别的任务,而查询方式只能进行接收查询,在此期间不能执行其他任务,在实现的区别当然是:是否把接收中断使能位置为有效。
查询方式是你判断接收状态,如果被置位则接收,大概流程如下: loop:if(receivestatus=1) { receivemessege} else { check receivestatus } goto loop 至于中断方式是当中断来的时候,程序自动跳入中断服务程序,中断服务程序执行完毕后,一般的微控制器都会把中断标志清零,自然就回到主程序,另外中断服务程序是自己跳转的,不用你去判断其标志位。
ps :
大量连续的向串口发送数据,就没有必要使用中断了,因为单片机根本没有时间去处理其它事务,这样采用查询的方式反而效率更高,实际应用中向串口发送数据很少使用中断,更多的是使用接收中断,除非单片机的时间资源特别的紧张,连等待一个数据的发送时间也得利用。
转载地址:http://cursi.baihongyu.com/