|
我現在在使用opencv去傳訊息給arduino,想請問怎麼用writefile輸出字串給Arduino,我照下面的程式碼是能夠傳送一個字元像是 opencv輸入'r' arduino接收到'r' 然後執行動作 ,但是沒辦法變成 opencv輸入"rr" arduino接收到"rr"這樣
opencv 程式碼
http://aleksandarkrstikj.com/downloads/code/tracker/tracker.cpp
arduino程式碼
http://aleksandarkrstikj.com/downloads/code/tracker/tracker.ino
----以上是能夠達成傳送一個字元來執行動作
我修改arduino的部分變成
#define RED_PIN 3
void setup()
{
Serial.begin(9600);
pinMode(RED_PIN, OUTPUT);
}
String s="";
void loop()
{
if(Serial.available() > 0)
{
char c = Serial.read();
if(c != '\n')
{
s += c;
}
else
{
Serial.println(s);
if(s=="xx\r")
{
digitalWrite(RED_PIN,HIGH);
}
}
可以透過直接在Arduino上面的方大鏡圖片輸入裏頭輸入xx讓燈泡亮
但是連接opencv後不知道要怎麼修改讓他從原本的輸出字元變成輸出字串
-----------------------------------------------------下面是我擷取opencv傳送部分的程式碼
HANDLE hSerial = CreateFile(L"COM3", GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);char outputChars[] = "c"; ---->在想是不是要改這項?? 但是不知道要怎麼改 DWORD btsIO;
if (servoOrientation == 1)
{
outputChars[0] = 'l';----->想變成輸出 "xx"這樣
WriteFile(hSerial, outputChars, strlen(outputChars), &btsIO, NULL);
}
-------------------------------------------- |
|