找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机串口仿真(全双工 有中断)

查看数: 5724 | 评论数: 3 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-6-1 12:11

正文摘要:

这是一个小的串口仿真。希望可以帮助一下 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

回复

ID:115923 发表于 2022-3-26 21:46
aiwenxue999 发表于 2019-5-20 19:33
void Send_One_Byte(uchar Byte)
{
        

瞎说, 我一直也是这样用, 从来没有出现 被中断清除掉数据。

他是发送的时候,进入中断,但是 没有if(TI) TI=0; 所以, 马上就又跳出中断,也就是进中断啥也没有做, 然后再返回 等待 while*!TI)这里执行,也就是等待发送完成,手动清除TI=0;

你不信,可以多测试试一试~

ID:653072 发表于 2020-4-1 18:41
找了好久就这帖明白
ID:339320 发表于 2019-5-20 19:33
void Send_One_Byte(uchar Byte)
{
        
        SBUF = Byte;
        ES=0;
        while(!TI);                //TI == 1 跳出循环
        TI = 0;
        ES=1;
}
要加ES=0;和ES=1;否则在发送数据的时候,容易被中断清除数据。

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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