极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12774|回复: 6

求助关于和PC通讯的问题

[复制链接]
发表于 2014-1-4 20:31:37 | 显示全部楼层 |阅读模式
本帖最后由 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).

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

使用道具 举报

发表于 2014-1-4 21:35:59 | 显示全部楼层
代码呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-4 21:39:34 | 显示全部楼层
qptimus 发表于 2014-1-4 21:35
代码呢?

/*
  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
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-6 15:45:08 | 显示全部楼层
代码很简单,基本上就是向外通过串口丢东西的。如何才能让pc收到呢?
回复 支持 反对

使用道具 举报

发表于 2014-1-6 15:57:38 | 显示全部楼层
zoologist 发表于 2014-1-6 15:45
代码很简单,基本上就是向外通过串口丢东西的。如何才能让pc收到呢?

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

使用道具 举报

 楼主| 发表于 2014-1-6 16:02:58 | 显示全部楼层
i7456 发表于 2014-1-6 15:57
"使用板子上的Pin0 Pin1来连接到USB转出来的串口上"
接线要注意
arduino    usbtoserial

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

晚上试试。谢谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-12 18:02:47 | 显示全部楼层
搞定了,产生的原因是:

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

2.usb转串口之后可能出现电压过高的问题(转接芯片是 ftdi 的,测量之后发现电压有6.2v,后来更换了一个手边的wch的341即可正常工作)
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 21:03 , Processed in 0.036675 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表