一方面,我有一个带有 USB(FTDI 芯片)接口的设备,以串行 9600bps,N,8,1 进行通信-Arduino USB / 串行接口的默认配置。另一方面,我有一个简单的 Arduino 草图,用于启动串行会话并传输数据。
void setup() {
// put your setup code here, to run once:
Serial.begin(9600,SERIAL_8N1);
}
void loop() {
// put your main code here, to run repeatedly:
char* data_to_send="66";
SSEND(data_to_send);
delay(5000);
}
String SSEND(char* data){
String protocol="AT$SF=";
protocol+=(String)data;
// protocol+="\r";
Serial.println(String(protocol));
delay(1000);
return "OK";
}
连接到计算机时,草图工作正常。然后我尝试连接到设备,我看到 Tx LED 停止闪烁,因此它不会发送任何东西,当然设备也不会像预期的那样工作。此外,我尝试将串行命令直接从计算机发送到设备,它工作正常。
所以我的问题是:
为什么 Arduino 和我的设备之间的串行接口不起作用?
为什么一旦 USB / 串行接口从计算机切换到设备,Arduino 就停止发送数据
使设备与 Arduino 一起工作的解决方案是什么?
我应该切换 TX & amp;RX 与拆分 FTDI 电缆插入端口 0 和 1?
谢谢你的帮助
我怀疑该设备是一个 USB 设备,而不是一个 USB 主机,你把两个 USB 设备插在一起。
根据 USB 规范,您使用的插头适配器甚至不应该存在,因为不同形状的插头特别存在,使得不可能像您在这里所做的那样将两个设备相互插入。
使其工作的方法是使用另一个实际上支持充当 USB 主机的板。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(72条)