一方面,我有一个带有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停止闪烁,所以它不会发送任何东西,当然设备不会像预期的那样工作。此外,我尝试直接从计算机向设备发送串行命令,它工作得很好。
所以我的问题是:
感谢您的帮助
答案 0 :(得分:1)
我怀疑该设备是USB设备而不是USB主机,并且您将两个USB设备插入了一起。 Arduino不是USB主机,USB连接始终需要一个主机。
根据USB规范,甚至不应该使用您正在使用的插头适配器,因为专门存在不同形状的插头,以致无法像在此所做的那样将两个设备互相插入。 / p>
使其工作的方法是使用另一块实际上支持充当USB主机的板。