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


主題:我也發現etr186有重啟我問題,巧合嗎?

  共有43230人關注過本帖    
caseto
1樓


我也發現etr186有重啟我問題,巧合嗎?  發帖心情 Post By:2005-11-30 22:30:00   [只看該作者]

我用etr186第一次運行后如果出現watchdog引起的自動重啟后,系統就無法進入,因為我的CAN總線的其他節點還在運行,總線上一直有數據發送,重啟的etr186無法進入正常運行,但是把CAN總線上的數據發送停止后,就可以進入。我的ETR186在啟動時必須向串口發送數據進入CAN總線,以進行節點登記。
所以也用到了int PutOutputData( int ComIdx, char abyte )函數。

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


  發帖心情 Post By:2005-12-1 8:50:00   [只看該作者]

請用我們提供的232DEMO程序運行測試,看看是否出一樣的現象。

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


  發帖心情 Post By:2005-12-3 10:28:00   [只看該作者]

我的硬件底板是自己做的,LCD也是自選的,沒有使用你們的套件。你們的232demo程序無法運行,我需要修改其中初始化的部分,目前還沒確定的結果。

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


  發帖心情 Post By:2005-12-5 11:00:00   [只看該作者]

是啊,我看過你們的232demo程序,這個程序前提是收到上位機的數據后,再把收到的數據發送到主機,但是我的情況是:下位機在檢測到有數據變化時,就發送數據給上位機,無法用你們的demo來運行,因為我的這個要求是脫機的,不連接232串口線的,請問到底是什么問題?樓主也和我一樣出現問題,但同樣使用etr100就沒有此類問題,是否因為他們有什么硬件的區別?麻煩技術支持回答?

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


  發帖心情 Post By:2005-12-5 11:04:00   [只看該作者]

建議先在我們提供的評估底板上做這樣的測試,以排除主板ETR186的問題。

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


  發帖心情 Post By:2005-12-5 11:27:00   [只看該作者]

評估板怎么購買,我們老板可是個摳門精,什么價?
發到我郵箱里吧。

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


  發帖心情 Post By:2005-12-5 12:25:00   [只看該作者]

對每個客戶來講,我們售出的第一套模塊總是帶評估低板的,你們應當能找到。

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


  發帖心情 Post By:2005-12-5 14:52:00   [只看該作者]

因為原先是外包開發的,現在我進行接手完善,人換了好幾茬,東西也找不到了。他們開發后移交的東西根本就沒給那一套評估板。

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


  發帖心情 Post By:2005-12-5 15:24:00   [只看該作者]

我的一個小觀點:
我仔細地看了你們的rs232.cpp,并且把第一次的版本和后一次你們寄的光盤資料庫里的rs232.cpp進行了比較,發現了一些小問題。
我總覺得在void interrupt  COM2_ISR(__CPPARGS)和COM3_ISR(__CPPARGS)中需要關中斷(disable())在程序結束后開中斷( enable());這樣才安全,否則在COM2_ISR,COM3_ISR同時發生會出現PutInputData()重入的問題。這個對DOS來說是危險的吧。
以上觀點沒有經過嚴格考證,僅是一種猜測。不知emtronix工程師可否解釋一下?
一下是兩個程序的部分源碼:
/////////////()
void interrupt COM_ISR(__CPPARGS)
{
   int             i1;
   unsigned int   status;

   enable( );

   status = inport(tport+LSR);     //caseto:
   if( status&0x0080 )             
   //caseto:檢測RDC8822中串口0狀態寄存器82h的RDR位是否為1,既有沒有接收到數據
      {
      PutInputData( (char)(inport( tport+RDR )&0x00ff) );
      }
   if( status&0x0040 )
    //caseto:檢測RDC8822中串口0狀態寄存器82h的THRE位是否為1,既是否可以發送數據
      {
      i1 = GetOutputData( );
      if( i1 != -1 ) outport( tport+THR, i1 );
      else           outport( tport, inport(tport)&0xfeff );
       //caseto:置RDC8822中串口0控制寄存器80h的TXIE位為0
      }

   switch( tport )
      {
      case 0xff80:
   outport( 0xff22, 0x0014 ); // specific EOI command of COM2
   break;
      case 0xff10:
   outport( 0xff22, 0x0011 ); // specific EOI command of COM3
   break;
      }
}

//////////////////////
void interrupt COM2_ISR(__CPPARGS)
{
   int             i1;
   unsigned int   status;

   enable( );

   status = inport(COM2PORT+LSR);
   if( status&0x0080 )
      {
      PutInputData( COM2, (char)(inport( COM2PORT+RDR )&0x00ff) );
      }
   if( status&0x0040 )
      {
      i1 = GetOutputData( COM2 );
      if( i1 != -1 ) outport( COM2PORT+THR, i1 );
      else           outport( COM2PORT, inport(COM2PORT)&0xfeff );
      }

   outport( 0xff22, 0x0014 ); // specific EOI command of COM2
}

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


  發帖心情 Post By:2005-12-5 16:28:00   [只看該作者]

在中斷服務程序中加上 enable()的目的是允許比該中斷級別更高的中斷打斷它,在它沒有發正確的EOI之前,該中斷是不會再次中斷的。

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

返回首頁

我也發現etr186有重啟我問題,巧合嗎?

用戶名:
            驗證碼: 驗證碼,看不清楚?請點擊刷新驗證碼
內容:
主站蜘蛛池模板: 国产麻豆入在线观看| 国产成人 免费观看| 亚洲精品国产精品乱码不97| 亚洲高清视频一区| 欧美精品毛片| 国产美女天天爽在线hd| 国产美女视频做爰| 免费人成网站在线播放| 一级a毛片| 亚洲精品午夜一区二区在线观看| 国产最新地址| 99久久国产亚洲综合精品| 久久精品亚洲综合一品| 在线亚洲欧美| 久久福利青草狠狠午夜| 在线视频日韩| 国产51页| 国产成人精彩在线视频50| 91久久色| 丁香六月 久久久| 欧美电影精品久久久久| 亚洲综合色区图片区| 久久第一页| 日韩毛片欧美一级国产毛片| 亚洲视频在线免费观看| 成人性色生活影片| 国产一区二区三区视频| 特级av毛片免费观看| 国产成人精品视频午夜| 欧美成人一区二区三区不卡视频 | 91丁香亚洲综合社区| 国产伦理自拍| 国产在线拍揄自揄拍视频| 欧美黄色视屏| 免费看在线偷拍视频| 欧美日韩无线在码不卡一区二区三区| 91preon国产在线观看| 久久久中文字幕日本| 久久涩精品| 久久免费激情视频| 手机看片自拍自拍自拍|