|
这段时间在研究arduino uno R3,想试试串口接受数据控制继电器,于是写了如下代码:
int Relay1 = 3;//三号口控制继电器
int SerialPortBaudRate = 9600;//波特率
int temp1 = 0;
String comdata= String("");
void setup()
{
Serial.begin(SerialPortBaudRate);
pinMode(Relay1, OUTPUT);
}
void loop()
{
while(Serial.available()>0)
{
comdata+= char(Serial.read());
if(comdata=="starttranfer1")
{
if(temp1==0)
{
digitalWrite(Relay1, HIGH);
comdata= String("");
temp1 = 1;
}
}
else if(comdata=="stoptranfer1")
{
if(temp1 == 1)
{
digitalWrite(Relay1, LOW);
comdata= String("");
temp1 = 0;
}
}
}
我用arduino自带的usb转串口线,能够通过串口接受数据,并控制继电器开关,比如:在串口发送starttranfer1,则继电器开关吸合;发送stoptranfer1,继电器开关断开;但是当我用JY-MCU USB转串口,如图,来做串口通信时,问题出现了,测试了arduino能够通过该usb转串口设备向PC端发送数据,但是无法接受PC端通过该串口向arduino发送数据,即
Serial.available()>0这句判断始终为假,不知道是怎么回事,于是发帖请求大神们指点一二,万分感谢!
|
-
JY-MCU USB转串口
|