激情综合丁香-激情综合六月-激情综合婷婷亚洲图片-激情综合图区-激情综合网五月


主題:關于串口中斷的問題

  共有37575人關注過本帖    
shtupc
1樓


關于串口中斷的問題  發帖心情 Post By:2008-1-6 7:57:00   [只看該作者]

在 ETR100.cpp文件中,有一個NB_Delay函數,里面調用了ReadTimer0( )函數,而ReadTimer0( )函數中有一句cli關中斷的指令,我想問一下,在關中斷這段短暫的時間里,如果外部設備通過串口發送過來數據,會不會因為中斷系統是關閉的而丟掉,如何解決,謝謝!
下面是這兩個函數的程序:
void NB_Delay( unsigned int milliseconds )
{
   unsigned long stop;
   unsigned cur, prev;

   prev = ReadTimer0( );
   stop = prev + (milliseconds * MULTIPLIER);

   cur = ReadTimer0( );
   while( cur < stop )
      {
      if(cur < prev)     /* Check for timer wraparound */
 {
 if (stop < TMR0SIZE) break;
 stop -= TMR0SIZE;
 }
      prev = cur;
      cur = ReadTimer0( );
      }
}

unsigned int ReadTimer0( )
{
  asm pushf                    /* Save interrupt flag         */
  asm cli                      /* Disable interrupts          */
  asm mov  al,0h               /* Latch timer 0               */
  asm out  43h,al
      dummy();                 /* Waste some time             */
  asm in   al,40h              /* Counter --> bx              */
  asm mov  bl,al               /* LSB in BL                   */
      dummy();                 /* Waste some time */
  asm in   al,40h
  asm mov  bh,al               /* MSB in BH                   */
  asm mov  ax, 0f533h          /* */
  asm sub  ax, bx
  asm mov  bx, ax         /* Need ascending counter      */
  asm popf                     /* Restore interrupt flag      */
  return( _BX );
}

  單帖管理 | 引用 | 回復 回到頂部
x10
2樓


  發帖心情 Post By:2008-1-6 9:53:00   [只看該作者]

不會,ICU會保持中斷請求,一旦系統enable()或sti,就會響應中斷?梢栽赗eadTimer0()最后加一條sti:

unsigned int ReadTimer0( )
{
asm pushf /* Save interrupt flag */
asm cli /* Disable interrupts */
asm mov al,0h /* Latch timer 0 */
asm out 43h,al
dummy(); /* Waste some time */
asm in al,40h /* Counter --> bx */
asm mov bl,al /* LSB in BL */
dummy(); /* Waste some time */
asm in al,40h
asm mov bh,al /* MSB in BH */
asm mov ax, 0f533h /* */
asm sub ax, bx
asm mov bx, ax /* Need ascending counter */
asm popf /* Restore interrupt flag */
asm sti  /* enable sti */
return( _BX );
}

  單帖管理 | 引用 | 回復 回到頂部
shtupc
3樓


  發帖心情 Post By:2008-1-7 7:50:00   [只看該作者]

謝謝了!
順便再問一句,如果在ReadTimer0()最后沒有加sti的話,系統會不會一直關中斷?

  單帖管理 | 引用 | 回復 回到頂部
x10
4樓


  發帖心情 Post By:2008-1-7 9:26:00   [只看該作者]

不會,很多系統函數都會打開中斷。

  單帖管理 | 引用 | 回復 回到頂部

返回首頁

關于串口中斷的問題

用戶名:
            驗證碼: 驗證碼,看不清楚?請點擊刷新驗證碼
內容:
主站蜘蛛池模板: 国产精品2020观看久久| 自拍影视| 国产精品天天看| 91免费短视频| 国产青青视频| 男生福利网站| 婷婷综合网站| 夜色爽| 一区二区三区视频在线播放| 日韩福利在线视频| 亚洲聚色| 色片免费看| 欧美日韩国产不卡在线观看| 国产黄色a三级三级三级| 黄色一级影视| 精品国产自在现线久久| 岛国片在线播放| 国内一级特黄女人精品片| 欧美日韩国产亚洲一区二区| 亚洲成人性视频| 亚洲一区二区三区国产精品| 一级一片免费看| 久久一区二区三区四区| 日韩免费高清一级毛片久久| 亚洲精品日韩在线一区| 成人看片黄在线观看| 免费看三级毛片| 欧美日本日韩| 欧美色视频免费高清播放| 国产日韩欧美91| 国产在线视频www片| 国产高清视频在线免费观看| 香蕉视频91| 美国一级特色大黄| 特一级黄| 黄网在线观看免费| 黄片毛片在线看| 黄色网久久| 高h猛烈做哭bl壮汉受小说| 黄色片视频在线观看免费| 黄色一级片美国|