[問題] visual c++ Form 編譯 serial問題

看板C_and_CPP (C/C++)作者 (叫我彬咧)時間14年前 (2011/09/29 04:32), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/1
版本: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
原來express功能有那麼強大喔?還可以寫硬體耶(._.?)
09/29 04:43, 1F

09/29 06:11, , 2F
你可以去玩玩看,開CLR 的FORM應用程式
09/29 06:11, 2F
文章代碼(AID): #1EWuHMVo (C_and_CPP)
文章代碼(AID): #1EWuHMVo (C_and_CPP)