RS232用轉介面轉換成USB,用c++builder寫上位機的時候代碼有區別嗎?新手,求大神幫助
uj5u.com熱心網友回復:
沒什么區別,你就當232口是你計算機的本地配件就行了uj5u.com熱心網友回復:
驅動程式會模擬一個埠出來,針對這個埠讀寫即可。uj5u.com熱心網友回復:
目前大多數usb轉串口的設備,在插入電腦后直接顯示為串口設備,直接操作就行。注意有些設備可能不會顯示串口設備,換個能顯示的就好。uj5u.com熱心網友回復:
寫代碼的時候是按USB寫,還是按RS232寫uj5u.com熱心網友回復:
不用理會usb,直接當RS232就行。
uj5u.com熱心網友回復:
我的編譯沒有問題,運行時報錯,這是錯誤報告(RS232串口通訊,打開串口時報錯)Project Project1.exe raised exception class EAccessViolation with message 'Access violation at address 00401c72 in module 'Project.exe'.Read of address 00000218'. Process stopped,Use Step or Run to continue.
怎么回事啊
這是錯誤的句子
Temp = "COM"+IntToStr(rdCOM->ItemIndex+1);
uj5u.com熱心網友回復:
這個句子沒看出有什么毛病。要不你改成:
String Temp=IntToStr(rdCOM->ItemIndex+1);
Temp="COM"+Temp;
這樣試試會報錯么?
uj5u.com熱心網友回復:
應該不是這段代碼出錯吧?除非你的變數定義有問題。多來點代碼看看
uj5u.com熱心網友回復:
不是你這里的代碼出錯,應該是別處的代碼記憶體操作出錯了。uj5u.com熱心網友回復:
沒有區別,會在計算機上生一個虛擬串口,你讀寫這個串口,就行了。uj5u.com熱心網友回復:
1,直接當真串口用。2,根據錯誤看是非法訪問,解決辦法兩種:
一、右擊“我的電腦”。單擊“屬性”。 在“系統屬性”中單擊“高級”。 在“性能”中單擊“設定”。 在“性能選項”中單擊“資料執行保護”。 單擊“添加”。選擇要運行的程式。 OK。就這么簡單。
二、可能你用的是什么串口控制元件,它傳入的變數類似“Com1”等,而字串的大小寫影響了后面的函式讀取造成錯誤。又或是電腦本身就沒有這個串口或此串口已被其他軟體打開了
uj5u.com熱心網友回復:
記憶體沖突了。uj5u.com熱心網友回復:
RS232用轉介面轉換成USB那你得看看用的啥協議。如果只是虛擬串口就簡單了。最好知道使用的轉換芯片型號,
或者查看一下硬體里面有沒有虛擬的串口,還是多出了USB設備了,
如果不是通過虛擬串口實作,要操作USB介面了。
現在232轉USB芯片一般使用Silicon Laboratories公司的CP2102系列,或者Prolific 公司的PL2303之類,
CP2102可以使用串口直接讀取或者使用公司的DLL操作USB。有例程提供的。
PL2303也是通過虛擬串口實作的,直接操作串口就可以了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/60122.html
標籤:基礎類
