0
我想從arduino讀取模擬傳感器到我的電腦。使用Visual C++編程串口arduino
Arduino的程序是:
void setup() {
// initialize serial communications at 9600 bps:
Serial.begin(9600);
}
void loop() {
char request[1];
if(Serial.available()){
request[0]=Serial.read();
Serial.print(analogRead(atoi(request)));
Serial.print("\n\r");
};
delay(2);
}
和我的Visual C++
#include <windows.h>
#include "stdafx.h"
#include "SerialClass.h"
char buffer[20];
char buf0[200];
int _tmain(int argc, _TCHAR* argv[])
{
Serial oSerial("COM6:");
while(1){
sprintf_s(buffer,"0");
oSerial.WriteData(buffer,1);
Sleep(1000);
oSerial.ReadData(buf0,4);
printf("Sensor 0: %s \n",buf0);
Sleep(1000); }
}
和我的程序的結果不是很穩定,我把5V的INPUT 0,所以它必須是1023:
sensor 0 :
sensor 0 : 10230
sensor 0:
100
sensor 0: 23
0
sensor 0: 10230
我嘗試在我的arduino中使用串口監視程序正在工作。所以可能的問題是在C++程序
任何人有想法?
感謝傑夫,你是正確的,這是緩衝的問題。 – Limavolt
它爲你工作Limavolt? – Saifee