當前位置:首頁 » 硬碟大全 » 串口緩存舊數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

串口緩存舊數據

發布時間: 2022-05-27 21:35:39

A. labview串口接收緩存數據問題

1. 你的程序有些問題,你不能每次都打開串口,在循環中,這樣會導致串口不斷的開啟和關閉。

2. 數據接收時,只有長度大於0,才去讀取信息。不要每次都強行讀取。
3. 當點擊發送命令後,要加個延時,才能去讀取。

B. 硬碟的串口和其他一樣嗎

1,硬碟本身的緩存是由硬碟本身的控制晶元來控制演算法的,涉及到緩存要和磁頭讀取或者寫入數據協調問題。加大緩存可以在讀寫小文件時效率更高,進行音視頻壓縮或解壓縮時數據流更通暢。對提高內部數據傳輸率也有一定提高。也就是提高了硬碟的性能。現在主流硬碟的緩存是8MB。
2,還有一種是在內存里劃出一部分,作為磁碟的緩存能起到緩解硬碟到內存的帶寬瓶頸問題,也能提高數據拷貝的速度。但對硬碟本身的性能沒有提高。

關於串口硬碟的問答:

----問: 聽說SATA硬碟的數據線和電源線介面不同於PATA硬碟的,在購買SATA硬碟時是否需要額外購買?
----答:一般支持SATA硬碟的主板都會附帶一條專用7芯數據線和電源線,而現在的新型電源基本也都提供了SATA設備的專有供電介面。另外,有些SATA硬碟還額外搭配了一個原PATA硬碟使用的D型電源介面,可以兼容使用舊有的電源。所以通常我們並不需額外購買。如果確實需要,SATA數據線大約10元,電源介面轉接線也在10元上下,電腦市場都有銷售,質量尚可。

----問: SATA硬碟安裝系統時,是否都要額外載入驅動才能找到硬碟?
----答: 不全是,要分情況而定。在安裝DOS/Win98/
WinMe系統時,SATA硬碟不需要載入任何驅動,可與
PATA硬碟一樣使用。
在安裝Win2000/XP/2003系統時,一般由主板南橋晶元(如Intel的ICH5/R,VIA的VT8237等)提供的SATA控制器在沒有內置或在BIOS設置中屏蔽了RAID功能時,也不需要載入驅動即可找到硬碟;在開啟RAID時,需要載入驅動。而使用第三方晶元的SATA控制器,則必須載入驅動。
載入SATA驅動的詳細步驟可參見《當Serial ATA硬碟遇上WindowsXP》一文。

----問: 必須安裝SATA驅動的情況下,沒有配備軟碟機怎麼辦?
----答: 現階段,Win2000/XP系統安裝光碟載入額外設備驅動時,只讀取軟碟機。雖然,我們可以自己打造一張集成了所需SATA控制驅動的系統安裝光碟,來免去必須從軟碟機載入的麻煩。但是,其製作方法和設置很復雜,需要對Windows系統載入驅動的方式和SATA驅動文件有一定的了解,而且設置中稍有一點錯誤都會導致驅動載入不成功。所以還是推薦花50元買個軟碟機省得麻煩。

----問: SATA硬碟驅動有通用驅動嗎?
----答: SATA驅動並不是指硬碟的驅動,而是指SATA控制器驅動,分為主板晶元組南橋內置和額外添加的第三方控制晶元兩類,各廠家的驅動不能通用。
各廠家都有不同的設計(在BIOS設置中就可看出不同),Intel、VIA、SiS主板晶元的SATA控制器部分就不同,更別說其他的第三方控制器了,所以近期也不太可能有統一的驅動。最大的希望是微軟能在後續的系統安裝光碟中直接集成各大廠家的SATA控制驅動,那就最方便了。
一般主板都會附帶驅動軟盤,但也有僅提供主板驅動光碟的,需要將SATA驅動文件拷貝到軟盤。還有的是需要用主板光碟的特定程序製作SATA驅動軟盤,這點需要看主板說明書上的相關說明。

----問: SATA硬碟能和PATA硬碟共存嗎?
----答: 當然可以,但根據SATA控制器設置有所不同。
讓SATA和PATA和平共處的關鍵在於其佔用的IDE通道位置不能沖突。還要注意,DOS/Win98/WinMe系統只能支持4個IDE設備,而Win2000/XP/2003系統可支持6個設備(註:第三方的SATA控制器可突破此限制)。關於SATA佔用IDE通道位置的設置部分,各廠家有所不同。以Intel 865PE晶元組的ICH5南橋為例:進入BIOS後,選擇Main下的IDE ConfigurationMenu,在Onboard IDE Operate Mode下面可以選擇兩種IDE操作模式:兼容模式和增強模式(CompatibleMode和Enhanced Mode)。其中CompatibleMode,可以理解為把SATA硬碟埠映射到並口IDE通道的相應埠,通常適用於DOS/Win98/WinMe系統;EnhancedMode下的SATA硬碟將使用獨立的IDE通道,不與原PATA設備沖突,但僅適用於Win2000/XP/2003系統。
其中的設置項根據不同的主板而稍有不同,比較復雜。如有深入了解的需要,可看主板說明書並參照《明明白白用SATA硬碟》一文。

----問: SATA硬碟不支持FDISK和DM等分區工具以及GHOST軟體了嗎?
----答:當然支持。使用這類軟體有問題的情況多出現在以ICH5為南橋的主板上,因為這些軟體都是基於DOS平台的,所以如上文所說必須採用兼容模式(Compatible Mode),當設置為增強模式(Enhanced Mode)時就會引發這些軟體不能使用的故障。
另外,使用160GB及以上容量的SATA硬碟時,由於FDISK(Win98版本)和DM這類分區軟體推出較早,並不能完善支持大於137GB硬碟的48bit定址,有可能引起莫名其妙的故障,所以最穩妥的方法是使用集成了SP1補丁的WinXP系統安裝光碟,在安裝系統前只分一個區用來安裝系統(Win2000系統也是一樣,需SP4補丁)。
等裝好了系統,先修改注冊表,在「運行」中輸入regedt32,回車確定。在HKEY_LOCAL_MACHINESYSTEMC
子項下新建一個鍵值:點菜單欄的編輯→添加數值,數值名稱: EnableBigLba ,數值類型: DWORD,數值:1。然後再用「控制面板→計算機管理」工具中的磁碟管理功能分其餘的分區。

----問: SATA硬碟上可以安裝Linux系統嗎?
----答: 可以。如RedHat 9,在安裝之前需要設置為CompatibleMode,否則就會找不到硬碟。安裝好後,要升級內核到2.4.22,如果使用的CPU支持超線程,請在編譯內核時選擇SMP的支持。接著修改GRUB的啟動參數,將 hda 改成hde,分區號不變。還有fstab也需改一下,不然啟動後不能激活「SWAP」交換分區。重新啟動後,將BIOS中的CompatibleMode改為Enhanced Mode,這樣就能發揮SATA介面的性能了。

----問: 據說SATA硬碟支持熱插拔,確實可以使用此功能嗎?
----答: 目前SATA技術分為V1.0和V2.0兩個版本,其中V1.0不支持熱插拔技術,在V2.0規格中SATA實現了熱插拔功能。
對熱插拔產生影響的只有主板和硬碟本身而已,只要硬碟和主板都支持這個功能,再安裝了正確的驅動程序,就可以實現硬碟熱插拔了,至於選用何種操作系統都沒有關系。現在市場上新推出的硬碟如希捷酷魚7200.7.SATA硬碟就支持V2.0規格,並且因為傳統PATA的4Pin電源插頭不能支持熱插拔的功能,所以希捷這個系列的硬碟均不支持傳統PATA的4Pin電源接頭。這個功能還需主板支持,由於Intel的ICH5南橋晶元不支持熱插拔功能,所以i865系列的主板都不能支持此功能。現在官方對外宣布支持SATA熱插拔的主板廠商很少,只有華擎,具體支持此功能的型號可以看http://www.asrock.com/proct/index_china.htm。
另外,雖然主板硬碟都支持熱插拔了,但是在沒切斷硬碟電源的情況下,僅熱插拔SATA數據線,有時會導致熱插拔功能的失效。而且注意兩次連續熱插拔操作的時間間隔必須超過5秒鍾。SiS等晶元的SATA控制器,有專門的SATA控制軟體,可以使SATA的熱插拔更加安全可*。不過,目前看來SATA的熱插拔技術還沒有完全成熟,畢竟硬碟不同於快閃記憶體等外設,它更加脆弱,所以請慎用熱插拔。

C. 串口通信是如何在第二次使用該串口是清除緩存原有數據在網上找的解決不了!求答案!

InBufferCount:設置輸入寄存器所存儲的字元數,當將其值設為0 時,則輸入寄存器將被
清空。

OutBufferCount:設置輸出寄存器所存儲的字元數,當將其值設為0 時,則輸出寄存器將
被清空。

D. 想清除串口緩存區,怎麼做

tcflush函數清除串口輸入緩存(終端驅動已接到,但用戶尚未讀取)或串口輸出緩存(用戶已經寫如緩存,但尚未發送)。函數原型:int tcflush(int filedes,int quene)參數解釋filedes: 描述符。quene取值及含義: *TCIFLUSH 清除輸入隊列 *TCOFLUSH 清除輸出隊列 *TCIOFLUSH 清除輸入、輸出隊列舉例:tcflush(fd,TCIOFLUSH);另加的說明:在打開串口後,用戶其實其實已經可以開始從串口讀取數據了,但如果用戶沒有讀取,數據將被將保存在緩沖區里。如果用戶不想要開始的一段數據,或者發現緩沖區數據有誤,可以使用這個函數將緩沖區清空。應用舉例:tcflush(fd, TCIOFLUSH);sleep(2); read_len = read(fd, buff, 10);

E. c#語言中如何刪除串口緩存區中的數據

SerialPort
com3
=
new
SerialPort("COM1"
,9600),
System.IO.Ports.Parity.None,
8,
System.IO.Ports.StopBits.One);
com3.DiscardInBuffer();//丟棄來自串列驅動程序的接收緩沖區的數據
每次接收數據後,調用DiscardInBuffer方法就可以把緩存中的數據清除了

F. 怎麼清除串口的緩沖區

tcflush函數清除串口輸入緩存(終端驅動已接到,但用戶尚未讀取)或串口輸出緩存(用戶已經寫如緩存,但尚未發送)。函數原型:int tcflush(int filedes,int quene)參數解釋filedes: 描述符。quene取值及含義: *TCIFLUSH 清除輸入隊列 *TCOFLUSH 清除輸出隊列 *TCIOFLUSH 清除輸入、輸出隊列舉例:tcflush(fd,TCIOFLUSH);另加的說明:在打開串口後,用戶其實其實已經可以開始從串口讀取數據了,但如果用戶沒有讀取

G. java串口通信數據緩存要怎麼清空

java串口通信數據緩存要清空步驟:

  1. 找到Java的安裝目錄(默認為C:Program FilesJava)選擇當前使用的jre版本,如果用的版本為jre5則進入jre5文件夾,如果用的版本為jre6則進入jre6文件夾。在該文件夾下進入bin文件夾。雙擊打開文件javacpl.exe

  2. 在常規選項中的臨時Internet文件點擊「設置」按鈕再點擊「刪除文件」按鈕,刪除所有的臨時文件。

  3. 刪除完緩存之後,需要關閉所有瀏覽器。再次打開瀏覽器進入虛擬實驗系統即可。

H. 串口緩存滿了以後,傳入的數據是會更新還是丟失

沒有硬體FIFO的話,接受到一個位元組就會中斷了,如果你繼續發,就會發生溢出,應該是可以設置是否覆蓋原先未讀出的數據,具體忘了。

解決方法:接收和發送都設置一個FIFO,要發的數據和接收到但尚未處理的數據都放在各自的FIFO內