我写了两段代码,用C ++创建了Arduino和Raspberry Pi之间的串行通信。 这些代码如下:
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 baud
}
void loop() {
Serial.println("Hello from arduino");
delay(500);
}
在树莓派中,C++代码如下:
#include <iostream>
#include <wiringPi.h>
#include <wiringSerial.h>
using namespace std ;
int serialDeviceId=0;
int main(void)
{
int pin=7;
serialDeviceId= serialOpen("/dev/ttyACM1",9600);
if(serialDeviceId==-1)
{
cout<<"Unable to open serial device"<<endl;
return 1;
}
if(wiringPiSetup()==-1)
{
return 0 ;
}
pinMode(pin,OUTPUT); // designing pin as an output
while(1)
{
digitalWrite(pin,0);
delay(500);
digitalWrite(pin,1);
delay(500);
}
return 0;
}
现在我想一直使用wiringpi从串口读取数据,并发现可以使用SerialGetchar,但我不知道具体如何使用它。我只需要在代码中加入这部分内容,就可以从我的Arduino代码中接收到串口中写的“Hello from from arduino”。