久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2072|回復(fù): 8
收起左側(cè)

請(qǐng)教單片機(jī)串口通訊問題,最后置標(biāo)志位語句不是每次都能執(zhí)行

[復(fù)制鏈接]
ID:565803 發(fā)表于 2019-6-18 16:03 | 顯示全部樓層 |閱讀模式

用C8051F410, 需要從串口接收兩個(gè)字節(jié),收到后置標(biāo)志位,程序如下

vvoid comm0_rx(void) interrupt 4   

{

        m=0;

  while(m<2)

   {

          if(RI0)                  

         {

            RI0=0;                  

            recdata[m]=SBUF0;

           m++;

         }

     }

        

              m=0;

       while(m<2)               

           {

                  SBUF0=recdata[m];

                    while(!TI0);           

                    TI0=0;               

                   m++;

           }

            flag0=1;        

            flag1=1;        

           ES0=0;                 

}

     程序運(yùn)行后,接收及發(fā)送都沒問題,但就是最后置標(biāo)志位語句不是每次都能執(zhí)行,偶爾接收一次就能執(zhí)行,大多數(shù)要接收好幾次才能置位(次數(shù)不定)。開始時(shí)接收和發(fā)送是在一起,后來分開,甚至置位語句放在接收與發(fā)送之間也沒用。哪位大俠遇到過這種問題?

   

回復(fù)

使用道具 舉報(bào)

ID:94031 發(fā)表于 2019-6-19 08:14 | 顯示全部樓層
不能把中斷處理程序搞得這么復(fù)雜,會(huì)影響串口接收的,中斷里設(shè)標(biāo)志,復(fù)雜處理中斷外執(zhí)行。
回復(fù)

使用道具 舉報(bào)

ID:10947 發(fā)表于 2019-6-19 10:14 | 顯示全部樓層
因?yàn)槟阌泻脦讉(gè)判斷,滿足了判斷條件才會(huì)執(zhí)行到最后,間隔時(shí)間相對(duì)來說很長(zhǎng)了
回復(fù)

使用道具 舉報(bào)

ID:565803 發(fā)表于 2019-6-19 10:26 | 顯示全部樓層
xuyaqi 發(fā)表于 2019-6-19 08:14
不能把中斷處理程序搞得這么復(fù)雜,會(huì)影響串口接收的,中斷里設(shè)標(biāo)志,復(fù)雜處理中斷外執(zhí)行。

已經(jīng)盡力精簡(jiǎn)了,收到數(shù)據(jù)后置標(biāo)志位,然后禁止串口通信,主程序執(zhí)行完相應(yīng)的任務(wù)后再重開串口
回復(fù)

使用道具 舉報(bào)

ID:565803 發(fā)表于 2019-6-19 10:29 | 顯示全部樓層
xuyaqi 發(fā)表于 2019-6-19 08:14
不能把中斷處理程序搞得這么復(fù)雜,會(huì)影響串口接收的,中斷里設(shè)標(biāo)志,復(fù)雜處理中斷外執(zhí)行。

不管中斷程序效率如何,總不能漏掉語句吧,這才是我不理解的地方
回復(fù)

使用道具 舉報(bào)

ID:94031 發(fā)表于 2019-6-19 11:07 | 顯示全部樓層
liuzanshui 發(fā)表于 2019-6-19 10:26
已經(jīng)盡力精簡(jiǎn)了,收到數(shù)據(jù)后置標(biāo)志位,然后禁止串口通信,主程序執(zhí)行完相應(yīng)的任務(wù)后再重開串口

“收到數(shù)據(jù)后置標(biāo)志位,然后禁止串口通信”怎么能禁止串口通信,對(duì)方發(fā)送你不是漏掉了嘛,你應(yīng)該在接收中斷里照章全收,在中斷外處理這樣才不會(huì)漏數(shù)據(jù)。
回復(fù)

使用道具 舉報(bào)

ID:565803 發(fā)表于 2019-6-19 13:20 | 顯示全部樓層
xuyaqi 發(fā)表于 2019-6-19 11:07
“收到數(shù)據(jù)后置標(biāo)志位,然后禁止串口通信”怎么能禁止串口通信,對(duì)方發(fā)送你不是漏掉了嘛,你應(yīng)該在接收中 ...

開始是將ES0=0語句放在中斷外,現(xiàn)在放在中斷的結(jié)尾,結(jié)果都一樣。我是先接收和發(fā)送完數(shù)據(jù),退出中斷前禁止串口
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2019-6-19 15:50 | 顯示全部樓層
你能照著沙發(fā)的意義去做,腦子就夠用了。
你自己把你現(xiàn)在的程序畫成流程圖看看,走得通走不通?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美激情五月 | 国产露脸对白88av | 欧美精品久久久久 | 精品在线免费看 | 国产视频一区二区 | 国产ts人妖系列高潮 | 日韩中文字幕免费 | 岛国精品 | 欧美日韩综合视频 | 久久最新| 日韩av在线一区二区 | 免费观看黄色片视频 | 久久久精品影院 | 98久久 | 国产午夜精品一区二区三区四区 | 亚洲国产视频一区二区 | 精品久久久久久久久久久久久 | 成年人免费看的视频 | a毛片视频网站 | 国产成人99久久亚洲综合精品 | 午夜理伦三级理论三级在线观看 | 欧洲妇女成人淫片aaa视频 | 色片在线观看 | 亚洲成av片人久久久 | 精品欧美一区二区三区久久久 | 久久精品免费观看 | 久国产视频 | 亚洲精品乱码久久久久久9色 | 国产精品久久在线 | 黄色大片免费网站 | 欧美一区二区三区的 | 国产精品久久二区 | jvid精品资源在线观看 | 国产精品欧美一区二区 | 在线国产一区二区 | 日韩中文字幕一区二区 | 欧美成年网站 | 91视视频在线观看入口直接观看 | 亚洲高清一区二区三区 | 欧美日韩在线观看一区 | 99精品国产一区二区三区 |