zoologist 发表于 2014-1-4 20:31:37

求助关于和PC通讯的问题

本帖最后由 zoologist 于 2014-1-12 18:03 编辑

我在做一个硬件的看门狗程序,用来监控一个台PC,当PC发生死机情况的时候就会自动关机。计划如下:

PC用一个USB转串口的转接线,不断将数据传到Arduino上。当Arduino无法收到数据的时候就通过继电器

导通PC的PowerButton从而实现关机的目的。

因此,这样的设计不能使用被控制的PC进行USB的供电(因为我要关机,关机之后USB口没电)。我尝试直接

使用板子上的Pin0 Pin1来连接到USB转出来的串口上(确认过USB转出来的串口,RXTX Loopback可以在PC段看到

输入的字符,因此USB转串口是确认没有问题的。)。但是使用串口直接接到Pin0和Pin1上之后,我写程序让他不断

输出字符串,在PC端无法看到(确认过波特率,都是9600).

请问高手是否有任何建议?或者有可以检查的地方我会补充。谢谢!

qptimus 发表于 2014-1-4 21:35:59

代码呢?:):):):):):):)

zoologist 发表于 2014-1-4 21:39:34

qptimus 发表于 2014-1-4 21:35 static/image/common/back.gif
代码呢?

/*
DigitalReadSerial
Reads a digital input on pin 2, prints the result to the serial monitor

This example code is in the public domain.
*/


// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);

}

// the loop routine runs over and over again forever:
void loop() {

// print out the state of the button:
Serial.println("zzz!");
delay(1);      // delay in between reads for stability
}

zoologist 发表于 2014-1-6 15:45:08

代码很简单,基本上就是向外通过串口丢东西的。如何才能让pc收到呢?

i7456 发表于 2014-1-6 15:57:38

zoologist 发表于 2014-1-6 15:45 static/image/common/back.gif
代码很简单,基本上就是向外通过串口丢东西的。如何才能让pc收到呢?

"使用板子上的Pin0 Pin1来连接到USB转出来的串口上"
接线要注意
arduino    usbtoserial
TX          RX
RX          TX
GND      GND

zoologist 发表于 2014-1-6 16:02:58

i7456 发表于 2014-1-6 15:57 static/image/common/back.gif
"使用板子上的Pin0 Pin1来连接到USB转出来的串口上"
接线要注意
arduino    usbtoserial


OK就是说出了RX TX还有一根GND的线是吧?

晚上试试。谢谢!

zoologist 发表于 2014-1-12 18:02:47

搞定了,产生的原因是:

1.串口互联的时候实际上需要rx tx和gnd三条线在一起才能正确工作

2.usb转串口之后可能出现电压过高的问题(转接芯片是 ftdi 的,测量之后发现电压有6.2v,后来更换了一个手边的wch的341即可正常工作)
页: [1]
查看完整版本: 求助关于和PC通讯的问题