| 
  |||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe  | 
  
LPT忽悠記(上) | 
  
| 作者:flanker 欄目:技術交流 | 
起因:賣給某客戶的工控機,說是LPT口出毛病,于是打電話過來,技術支持搞不定,給我們研發(fā)部搞。研發(fā)部管工控機的小伙也搞不定,于是抓了我的壯丁。 現(xiàn)象:客戶往LPT口循環(huán)寫00和ff,出來的方波時有時無。 客戶的程序: #define LPT 0x378 main() { while(1) { outportb(LPT, 0x00); delay(); outportb(LPT, 0xff); delay(); } } 得到的波形不正常。 我找了一塊一樣的板子,弄了段測試程序。 下面是我的測試方法: c:\>debug -a 100 1402:0100 mov dx, 0378 1402:0103 mov al, 00 1402:0105 out dx, al 1402:0106 mov cx, 0100 1402:0109 loop 0106 1402:010B mov al, ff 1402:010D out dx, al 1402:010E mov cx, 0100 1402:0111 loop 0111 1402:0113 jmp 0103 1402:0115 -r cx cx 0000 :15 -n testport.com -w -q c:\>testport ——看到這里,各位眼暈了沒?注意,這個方法只在純DOS下好使哦,因為Windows已經(jīng)接管了并行口了。 晚了,該睡了,大家可以找本匯編語言的書看看,明天再告訴大家,我是如何忽悠這個可憐的LPT口的。  * - 本貼最后修改時間:2006-4-20 23:29:47 修改者:flanker  | 
  
| 2樓: | >>參與討論 | 
| 作者: hotpower 于 2006/4/21 0:07:00 發(fā)布:
         哈哈...dos下的debug還是沒忘~~~  | 
  |
| 3樓: | >>參與討論 | 
| 作者: computer00 于 2006/4/21 5:10:00 發(fā)布:
         俺用VB+WinIO來忽悠LTP~~~~~~~~~ 由于windows操作系統(tǒng)的任務調(diào)度,方波也是會間斷的,不過對我的結果不產(chǎn)生影響,我是模擬I2C主機的。  | 
  |
| 4樓: | >>參與討論 | 
| 作者: flanker 于 2006/4/21 8:56:00 發(fā)布:
         Computer00同學,做人要厚道 做人要厚道,不要搶我準備說的話,連載后面的內(nèi)容提前說出來就沒意思了  | 
  |
| 5樓: | >>參與討論 | 
| 作者: sillboy 于 2006/4/21 8:59:00 發(fā)布:
         頂,關注中  | 
  |
| 6樓: | >>參與討論 | 
| 作者: computer00 于 2006/4/21 9:17:00 發(fā)布:
         暈……我以為你要說的不是由于任務調(diào)度而引起的間斷…… 所以就順便提了一下windows的任務調(diào)度……………… 樓主請繼續(xù),我的跟帖,并不對您的分析造成影響,因為很容易就猜到是由于多任務調(diào)度而引起的, 但如何解決這個問題,那才是我們所需要的。如果提升任務優(yōu)先級來占用更多的CPU時間的話, 可能會導致其它軟件不能響應,另外內(nèi)核的任務切換,總是存在的。不知道樓主是如何解決這個問題的? 如果頻率很低的方波,哪倒沒問題,可以用系統(tǒng)延時來做。但如果頻率上到100來K的話,我似乎想 不出什么辦法來解決這個問題了,除非,你的電腦裸奔或者用單任務的操作系統(tǒng)…………  | 
  |
| 7樓: | >>參與討論 | 
| 作者: winsu 于 2006/4/21 11:18:00 發(fā)布:
         VB+IO的DLL方式容易 速度也不低。 用VC+IO的方法,速度會較高。我做過的比別人的更高,100KB/s以上的速度是沒問題的。 LPT最好用標準方式,如果用EEP或更高級的,如果不是很熟悉,調(diào)試麻煩。 而且不同電腦的LPT的高級模式,如EPP會有所不同。  | 
  |
| 8樓: | >>參與討論 | 
| 作者: delli 于 2006/5/1 12:06:00 發(fā)布:
         做人要厚道  | 
  |
| 9樓: | >>參與討論 | 
| 作者: SupermanTm 于 2006/5/2 21:54:00 發(fā)布:
         純粹賣弄 有個更簡單的方法:COPY CON LPT1 當然,別忘了用[CTRL-Z]退出!  | 
  |
| 10樓: | >>參與討論 | 
| 作者: dengm 于 2006/5/4 10:16:00 發(fā)布:
         改WinIO的asm, 關中斷后 os 就干擾不了你了,上1MbpByte都可以!  | 
  |
  | 
    
 
  | 
  
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 | 
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號  |