Eu tenho um Arduino Mega 2560 com um libelium XBee Shield. Se eu tiver um XBee S2 montado nele e definir os dois jumpers para a configuração USB ou removê-los, posso atualizar um programa em meu Arduino.
No entanto, quando estou montando um dos meus XBee PRO S2B (tenho três deles disponíveis e todos se comportam da mesma forma) no Arduino, não importa como eu configurei os jumpers, não é possível piscar nada nele. Sempre vejo avrdude: stk500v2_getsync (): tempo limite de comunicação com o programador
no IDE do Arduino.
O XBee PRO S2B é incompatível com o Arduino ou qual pode ser o problema? Eu também tentei adicionar uma fonte de alimentação externa adicionalmente ao USB, mas também não ajudou.
Atualizar
Depois de mais algumas experiências, eu descobri novos detalhes. Tentei desconectar cada pino da blindagem individualmente. Enquanto fazia isso, descobri que desconectar o pino reset
do arduino torna possível atualizá-lo - dê uma olhada no esquema do escudo XBee, é o pino 5 do ICSP conector; Foto:
Usei um multímetro e descobri que a porta do XBee PRO S2B CTS / DIO7 está alta, enquanto a do XBee S2 está baixa, e reiniciando constantemente o arduino. Montei o XBee PRO S2B no Sparkfun XBee Explorer USB e abri uma porta serial com PuTTY. Em contraste com o S2, o PRO S2B oferece um menu com várias opções:
Modo B-BypassF-Update AppT-TimeoutV-BL VersionA-App VersionR-Reset>
Assim que eu digitar B, o CTS a porta fica baixa e evitaria que o arduino fosse reiniciado. Além disso, este modo é necessário para detectar o módulo via XCTU. Porém, com um arduino não modificado, eu não teria a chance de enviar esta carta, já que o XBee está constantemente o reiniciando. O que é este menu, pode ser desativado de alguma forma?