C51:串口接收和发送,查询与中断方法
来源:互联网 发布:苏州网络布线 编辑:程序博客网 时间:2024/05/21 06:48
http://bbs.ednchina.com/BLOG_ARTICLE_1828402.HTM
假设要发送一组数据 Send[10]
一般采用查询发送(循环发送)方式:
unsigned char Send[10]; //发送量
unsigned char i; //循环量
for(i=0;i<10;i++)
{
SBUF= Send[i]; //发送
while(TI==0); //等待发送完成
TI=0; //清标志
}
采用中断发送方式:
unsigned char Send[10]; //发送量
unsigned char num; //发送数据量
unsigned char *p; //发送用指针
//发送时:
num=10; //定义发送数据量
p=&Send ; //取首地址
SBUF=*p; //发送第一个数据,启动发送中断
//中断代码:
void ComInt() interrupt 4
{
if(RI) RI=0; //接收中断略;
if(TI) //发送中断处理
{
TI=0; //清标志
num--; //计数减1
p++; //指针加1
if(num >0) SBUF=*p; //数据继续发送至全部发完
}
}
中断发送优点:省去循环等待时间,以上面例子为例,9600bps时查询发送约占用单片机10ms多,而中断发送只占单片机几十微秒(单片机速度越快
,占用时间越少)。
中断发送缺点:代码稍复杂,发送过程不易控制。
- C51:串口接收和发送,查询与中断方法
- C51:串口接收和发送,查询与中断方法
- C51串口中断接收和发送程序
- C51 中断接收 查询发送
- C51串口中断接收和发送测试例程
- C51 队列 方式 中断接收 查询发送
- C51:串口通信接收与发送
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 单片机C51串口中断接收和发送测试例程(含通信协议的实现)
- 这是一个单片机C51串口接收(中断)和发送例程
- STM32串口中断接收和中断发送
- C51---串口通信---接收---发送
- 中断串口接收方法
- 【ESP8266】NONOS SDK开发,串口发送、接收与中断
- 【ESP8266】NONOS SDK开发,串口发送、接收与中断
- LPC21XX 串口的接收和发送中断(MDK)
- ATMEGA16串口发送和中断接收CVAVR程序
- HDU 1114 Piggy-Bank(完全背包模板题)
- 兔子--android:layout_gravity与android:gravity的区别
- HDU 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活(多重背包模板题)
- 兔子--android开发小细节
- Git常用命令
- C51:串口接收和发送,查询与中断方法
- HDU 1712 ACboy needs your help(分组背包模板题)
- C++ 管理智能指针成员
- 编写出色的CSS代码13个的建议
- HDU 1171 Big Event in HDU(多重背包)
- 实习篇---春节回家
- hibernate_主键设置
- 一个关于Lucene,Solr,Hadoop ,HBase的学习教程
- char* 指向内容不能修改