单片机学习小组
登录
直播中
张蕾
7年用户
176经验值
私信
关注
请问51的串口是如何发送中断中读取数据的?
开启该帖子的消息推送
串口
字符
#include
#define uchar unsigned char#define uint unsigned intUchar code table[]=“I get ”//空格也算是一个字符Void init(){TMOD=0x20; //设定T1定时器工作方式2TH1=0xfd; //T1定时器装初值TL1=0xfd;TR1=1;//启动T1REN=1; //允许串口接收SM0=0;SM1=1;EA=1;//开总中断ES=1;//允许串口中断}Void main(){Init();While(1);//等待中断的发生{If(flag==1) //检测标志位是否为1,检测到为1时说明已经执行过串 口中断服务程序,即收到了数据{ES=0;//关闭串口中断,若不关闭,仍会进入串口中断,此时检测到的仍为1,则又开始发送For{i=0;i<6;i++}{SBUF=table
;//将数组中的字符发送出去
While(!T1); //等待是否发送完毕,发送完成后T1硬件置1
T1=0; //退出等待
}
SBUF=a; //发送从中断中读来的数据
while(!
ti
);
TI=0;
ES=1;
Flag=0;
}
}
}
Void ser() interrupt 4
{
R1=0; //RI清0,进入串口中断后必须软件清0
a=SBUF; //将SBUF中的数据读给a(最重要)
Flag=1; //将标志位置1
}
疑问如下:进入whlie(1)这句程序时,已经执行过串口这段程序a=SBUF,而后关闭串口中断ES=0。那么当执行SBUF=a这句程序时,发送的是串口中a的数据。串口中a的数据为什么也是“i get”?
回帖
(2)
徐晨曦
2019-7-2 11:10:11
帮顶。。。。
帮顶。。。。
举报
阿信509
2019-7-2 12:58:48
a是什么类型的数据呀没看出来,怎么看出来a的数据就是i get
a是什么类型的数据呀没看出来,怎么看出来a的数据就是i get
举报
更多回帖
rotate(-90deg);
回复
相关问答
串口
字符
请问
51
单片机
串口中断
是怎么触发的?
2019-04-09
7134
串口
读取
IO引脚信号并显示
2015-12-10
5005
求助,关于N9H20K
51
串口中断
问题
2023-09-04
156
stm32接收手机
读取
串口
的
数据
的时候
数据
总是0
2019-05-15
2360
N9H20K
51
串口
接收
中断
,
数据
丢失严重如何解决?
2023-09-04
146
请问
怎样通过c6748
串口中断
实时
发送
大量
数据
?
2019-09-04
2878
单片机
发送
数据
间隔时间过短labview
读取
visa函数如何清空
读取
缓冲区
2019-06-21
6142
请问
STM32
串口
能否像
51
一样产生
中断
?
2019-07-22
1038
51
串口
发送
接收求解
2012-04-02
4406
CH579M如何改写
串口中断
发送
?
2022-09-07
358
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分