popen() 함수를 통해 내 Arduino와 통신하려고합니다. 나는 엑스 코드에 간단한 맥 앱을 썼다 :Arduinos IDE 직렬 모니터는 XCode popen()이 작동하지 않는 동안 작동합니다.
- (IBAction)ButtonPressed:(id)sender {
popen("echo hello world > /dev/tty.usbmodem1411", "r");
}
을 그리고 여기에 아두 이노 코드입니다 : 내가 아두 이노 시리얼 모니터를 사용하려고 벌금이 내 LED의 빛을 약간 횡설수설을 쓸 때, 이제
int redPin = 8;
int greenPin = 9;
int bluePin = 10;
int inByte = 0; // for incoming serial data
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
Serial.begin(8000);
}
void loop()
{
if (Serial.available() > 0) {
// get incoming byte:
inByte = Serial.read();
Serial.print(inByte);
setColor(inByte,inByte,inByte);
delay(1000);
setColor(0,0,0);
}
}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
나는 그것이 작동하고있는 것을 본다. 내 Xcode 프로그램을 실행할 때 버튼을 누르면 아무 일도 일어나지 않습니다. 나는 중단 점을 설정했고 코드 줄이 실행되는지 확인했습니다. 나는 직렬 포트를 두 번 확인했는데 괜찮습니다.하지만 운이 없습니다. 여전히 작동하지 않습니다.
'if'를'while'으로 변경해 보셨습니까? – ladislas
나는 그것을 시도했다, 도움이되지 않았다. 여전히 똑같은 - 직렬 포트가 popen()이 작동하는 동안 작동합니다. –
커맨드 라인에서'echo hello world> /dev/tty.usbmodem1411'을 시도해 보셨습니까? – ladislas