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

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

QQ登錄

只需一步,快速開始

搜索
查看: 2195|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

ESP8266如何從15單片機(jī)串口中讀取需要的數(shù)據(jù)?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:886263 發(fā)表于 2022-4-12 17:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我用2套15F2K60S單片機(jī)+8266,一套做發(fā)射端,一套做接收端。
發(fā)射端已經(jīng)弄好了一套程序,超聲波和聲音傳感器測(cè)量數(shù)據(jù),數(shù)據(jù)格式如下:T=60.3cm,S=0E。發(fā)送是正常的。現(xiàn)在問題就是接收端解釋不了我需要的數(shù)據(jù)。早期測(cè)試的時(shí)候,串口2的數(shù)據(jù)是可以接收到的,但獲取不了需要的數(shù)據(jù)。

接收端的8266是用串口2的,代碼如下:

  1. //串口2中斷
  2. void Uart2() interrupt 8 using 1
  3. {

  4. IE2 = 0x00;                  //關(guān)閉串口2中斷
  5.                         if (S2CON & S2RI)
  6.                         {
  7.                         S2CON &= ~S2RI;         
  8.                         res = S2BUF;
  9.                         test[RX_num2]=res;
  10.                         RX_num2++;

  11.                                 if(res=='T'||u>0)
  12.                                 {
  13.                                 
  14.                                 RX_buffer2[u]=res;
  15.                                 u++;
  16.                                 //i++;
  17.                                         if(res=='E')
  18.                                         {
  19.                                                 
  20.                                                 //添加對(duì)收到信息的處理代碼
  21.                                         memset(RX_buffer2, 0, 30);//清緩存數(shù)據(jù)
  22.                                         u=0;
  23.                                         //i=0;                                   //接收計(jì)數(shù)變量清0
  24.                                         }                        
  25.                                 }
  26.                         if(RX_num2>tbuf) RX_num2 = 0;
  27.                         }
  28.                         if (S2CON & S2TI)
  29.                         {
  30.                         S2CON &= ~S2TI;            
  31.                         }
  32.                         IE2 = 0x01;                //開啟串口2中斷

  33.                         
復(fù)制代碼

求各位大神幫忙看看。要怎么才能獲取到我需要的關(guān)鍵信息。
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:301191 發(fā)表于 2022-4-12 22:34 | 只看該作者
頂一下
回復(fù)

使用道具 舉報(bào)

板凳
ID:123289 發(fā)表于 2022-4-14 09:26 | 只看該作者
中斷后關(guān)閉中斷是個(gè)錯(cuò)誤的觀念,不是說不可以。
1、至少浪費(fèi)兩條指令的時(shí)間,開它和關(guān)它。
2、如果新的中斷來了,則可能會(huì)留失數(shù)據(jù),如你認(rèn)為后面又打開了,則不關(guān)不是一樣嗎。
不要在中斷中分析數(shù)據(jù)(IF RES 如何如何)!!中斷只做數(shù)據(jù)的接收與存儲(chǔ)就行了,做個(gè)標(biāo)記立即結(jié)束退出,這樣中斷服務(wù)時(shí)間才最短,不會(huì)影響到下個(gè)數(shù)據(jù)的接收。數(shù)據(jù)處理應(yīng)在主程序中去做!!
記住:所有中斷服務(wù)程序,要盡可能地節(jié)省時(shí)間,盡快退出。能在主程序中處理的,不要在中斷中處理。
理由:中斷服務(wù)程序期間,其它平級(jí)低級(jí)中斷將無法響應(yīng)!!
例如:時(shí)間中斷執(zhí)行時(shí)間長(zhǎng),中斷期間,低級(jí)的串口中斷來了,因無法即時(shí)響應(yīng),結(jié)果下一個(gè)串行字節(jié)又來了,則數(shù)據(jù)就丟失了一個(gè)。這種事情,在你的程序中是否會(huì)發(fā)生呢?全面查一下。
回復(fù)

使用道具 舉報(bào)

地板
ID:886263 發(fā)表于 2022-4-16 15:53 | 只看該作者
yzwzfyz 發(fā)表于 2022-4-14 09:26
中斷后關(guān)閉中斷是個(gè)錯(cuò)誤的觀念,不是說不可以。
1、至少浪費(fèi)兩條指令的時(shí)間,開它和關(guān)它。
2、如果新的中 ...

你好,問題解決了。加了這個(gè)res2 = S2BUF; 就可以正常識(shí)別了。
  1. //串口2中斷
  2. void Uart2() interrupt 8 using 1
  3. {

  4. IE2 = 0x00;                  //關(guān)閉串口2中斷
  5.                         if (S2CON & S2RI)
  6.                         {
  7.                         S2CON &= ~S2RI;         
  8.                         res2 = S2BUF;
  9.                         RX_buffer2[RX_num2]=res2;
  10.                         RX_num2++;
  11.                         if(res2=='\n') RX_num2 = 0;flag=1;
  12.                         }
  13.                         if (S2CON & S2TI)
  14.                         {
  15.                         S2CON &= ~S2TI;            
  16.                         }
  17.                         IE2 = 0x01;                //開啟串口2中斷

  18.                        

  19. }
復(fù)制代碼



回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品一区二区三区电影 | 欧美激情在线一区二区三区 | 亚洲天堂中文字幕 | 91麻豆精品一区二区三区 | 91嫩草精品 | 中文精品视频 | 日韩中文字幕在线免费 | 在线日韩| 久久久噜噜噜www成人网 | 久色网 | 成人影院网站ww555久久精品 | 国产精品久久久久久久久免费樱桃 | 亚洲精品一区国语对白 | 国产日韩一区二区三免费高清 | 午夜免费小视频 | 毛片入口 | 国产一区二区三区四区五区加勒比 | 精品少妇一区二区三区日产乱码 | 中文字幕高清av | 91久久综合 | 久久6| 99re视频精品 | 国产成人精品免费视频大全最热 | 91麻豆精品国产91久久久更新资源速度超快 | 密桃av | 精品国产视频 | 黄色成人免费看 | 亚洲一区二区视频 | 亚洲一区二区三区免费在线 | 国产精品a免费一区久久电影 | 精品久久一区 | 一级一级一级毛片 | 91欧美 | 国产欧美日韩一区二区三区在线 | 99久久婷婷国产综合精品电影 | 亚洲欧洲中文日韩 | 国产高清免费视频 | 国产一区二区三区久久久久久久久 | 亚洲欧美自拍偷拍视频 | 日本精品免费在线观看 | 中文字幕在线播放第一页 |