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

標題: 紅外遙控在單片機外部中0(下降沿觸發)中接收四個字節數據的過程中會再次引發中斷么 [打印本頁]

作者: 亢亢    時間: 2020-2-28 15:43
標題: 紅外遙控在單片機外部中0(下降沿觸發)中接收四個字節數據的過程中會再次引發中斷么
51單片機在做紅外遙控的實驗過程中,在外部中斷0函數中接收四個字節的數據,(程序如下:),我的疑問是,在接收數據的過程中產生的下降沿,會再次引發外部中斷0的中斷么?從實驗現象猜測來看是不會的,有點不理解?//外部中斷0觸發函數如下:下降沿觸發
  1. void GetDateToIr() interrupt 0
  2. {
  3.         u8 i, j;
  4.         u8 Byte;
  5.         u16 time;
  6.         
  7.         //1.判斷起始碼低電平9ms
  8.         time = GetLowTime();
  9.         if( (time<8500) || (time>9500) )//8.5ms<time<9.5ms
  10.                 return ;        
  11.         //2.判斷起始碼高電平4.5ms
  12.         time = GetHighTime();
  13.         if( (time<4000) || (time>5000) )//4.0ms<time<5.0ms
  14.                 return ;
  15.                
  16.         //3.接收4Byte數據
  17.         for(i=0; i<4; i++)
  18.         {        
  19.                 for(j=0; j<8; j++)
  20.                 {
  21.                         time = GetLowTime();
  22.                         if( (time<340) || (time>780) )//低電平 340us<time<780us
  23.                                 return ;
  24.                         
  25.                         time = GetHighTime();
  26.                         if( (time>340) && (time<780) )//表明這是一個“0”
  27.                         {
  28.                                 Byte >>= 1;
  29.                         }else if( (time>1500) && (time<1900) )//1.5ms<time<1.9ms
  30.                         {
  31.                                 Byte >>= 1;
  32.                                 Byte |= 0x80;
  33.                         }else
  34.                                 return ;
  35.                 }
  36.                 IfredValue[i]=Byte;        
  37.         }
  38. }
復制代碼



作者: csmyldl    時間: 2020-2-28 17:21
應該會觸發,不過我在調試時,在進入中斷后關閉了外部中斷,等處理完后再打開外部中斷的
作者: Y_G_G    時間: 2020-2-28 17:26
外部中斷0中斷級別為最高級別,不會被其它中斷打斷
第一次接收到紅外信號之后進入中斷,函數沒有執行完之前,中斷是沒有返回的,是一直停留在中斷函數內部檢測端口的電平而已,不會再次觸發中斷的
只有中斷返回之后才會再次觸發中斷
作者: 亢亢    時間: 2020-2-28 19:17
csmyldl 發表于 2020-2-28 17:21
應該會觸發,不過我在調試時,在進入中斷后關閉了外部中斷,等處理完后再打開外部中斷的

我也調試了一下,現象是,當在中斷程序的時候,數據口變化的時候(即在接收數據的時候),外部中斷0的標志位是會變化的,但是不會重新進入中斷服務程序。
作者: 亢亢    時間: 2020-2-28 19:19
Y_G_G 發表于 2020-2-28 17:26
外部中斷0中斷級別為最高級別,不會被其它中斷打斷
第一次接收到紅外信號之后進入中斷,函數沒有執行完之 ...

明白了,謝謝你,我軟件調試的時候確實是這樣的,在接收數據的過程中,即使中斷標志位置1了,并不會重新進入中斷,而是繼續執行




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲精品三区 | 国产成人亚洲精品自产在线 | 久久久久久亚洲 | 免费在线观看毛片 | 美日韩一区二区 | 秋霞国产| 成人婷婷| 国产一级二级三级 | 成人免费在线播放 | 日韩欧美高清 | 亚洲视频在线看 | 四虎影库| 国产成人精品一区 | 中文在线字幕免费观看 | 亚洲毛片网 | 日韩精品一区在线 | 久久国产亚洲 | 精品国产一区二区三区久久久蜜月 | 97色在线 | 欧美一区二区三区在线观看 | 欧美视频在线观看免费 | 欧美综合网 | 欧美国产一区二区 | 国产在线观看网站 | 亚洲一区国产 | 日批视频免费在线观看 | 日韩欧美在线看 | 91超碰在线观看 | 亚洲国产成人精品女人 | 色综合久久久 | 欧美黄色免费 | 香蕉视频在线观看网站 | 国产精品aaa | 亚洲国产第一页 | 亚洲aaa | 亚洲欧美综合网 | 97caoporn| www.久久| 亚洲午夜在线 | 黄色免费毛片 | 亚洲免费婷婷 |