51串口通信

2019-03-24 19:23发布

  各位大侠们!          1. 串口通信TI=1时,还可以继续进行串口通信发送功能吗?          2. 认为1不能发送,假设开始ES=0,它还会进入中断服务程序吗?          3. 课本中说ES=0,关闭了中断串口中断入口,实验中发现,下面程序可以正常运行!注释语句添不添加都无所谓!这究竟是为什么啊 !      ES=0;                                                                                                   
     flag=0;
     send(fog);
     while(!TI);
   // TI=0;  这里我注释了
     send(dat);
     while(!TI);
   // TI=0;  这里我注释了,不参与编译
     ES=1;   void series() interrupt 4
 {
         if(RI==1)
         {
                 dat=SBUF;
                  RI=0;
                 flag=1;
           }
          if(TI==1)
         TI=0;
} 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
_Justin
2019-03-25 22:35
可能他说错了,串口接受数据以及发送数据时,没接收或者发送完一个串行帧,必定由硬件置位,但是!TI以及RI必须由软件清零。
在这里,我还想说一下下,在五个中断请求标志位中(其它四个再TCON中),IE0,IE1,TF0,TF1(其中TF0,TF1也可以软件清零)都是硬件置位,硬件清零。但是在串口中断中,SCON中,TI和RI是硬件置位,软件清零

一周热门 更多>