[問題] visual c++ Form 編譯 serial問題
版本:Microsoft visual C++ 2010 Express
在工具箱裡面直接拉 SerialPort 來使用,在屬性欄上有一個地方是Databit 為8。
我的serialPort 為 COM3 , 我本身COM3傳進電腦的資料為32 bits。
我撰寫為
#pragma endregion
private: System::Void serialPort1_DataReceived(System::Object^ sender,
System::IO::Ports::SerialDataReceivedEventArgs^ e) {
char IRdata;
if (serialPort1 -> ReadByte() != 0 ) {
IRdata = serialPort1 -> ReadByte();
label1->Text = System::Convert::ToString( IRdata );
}
結果: 每次收到的訊號都是亂碼。我想法是每次serialPort一次只能收到次8bits
的訊號,無法收到全部32bits的訊號。想請問大大們有甚麼方法可以解決。
我嘗試把ReadByte(); 修改為 Read()'
撰寫為
#pragma endregion
private: System::Void serialPort1_DataReceived(System::Object^ sender,
System::IO::Ports::SerialDataReceivedEventArgs^ e) {
char IRdata[1024];
char IRdatares[1024];
if (serialPort1 -> ReadByte() != 0 ) {
IRdatares = serialPort1 -> Read(IRdata,1024,1024);
label1->Text = System::Convert::ToString( IRdatares );
}
}
編譯後出現下列問題
c:\documents and settings\chiang chi-pin\my documents\visual studio
2010\projects\shit\shit\Form1.h(90): error C2664: 'int
System::IO::Ports::SerialPort::Read(cli::array<Type,dimension> ^,int,int)' :
無法將參數 1 從 'std::string [1024]' 轉換成 'cli::array<Type,dimension> ^'
1> with
1> [
1> Type=unsigned char,
1> dimension=1
1> ]
1>c:\documents and settings\chiang chi-pin\my documents\visual studio
2010\projects\shit\shit\Form1.h(91): warning C4800: 'std::string *' : 強制將
bool 的值定為 'true' 或 'false' (效能警告)
有大大能解析嗎??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.22.18.24
推
09/29 04:43, , 1F
09/29 04:43, 1F
→
09/29 06:11, , 2F
09/29 06:11, 2F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
11
38