else if (SET_CONFIGURATION == r)
{
if (REQUEST_DEVICE == (requestType & REQUEST_RECIPIENT))
{
InitEndpoints();
_usbConfiguration = setup.wValueL;
} else
que cela ne se fait qu'en cas de demande d'initialization de la ligne, c'est à dire qu'on a un host de l'autre côté et comme à la fin du reset de la carte
// End of Reset
if (udint & (1<<EORSTI))
{
InitEP(0,EP_TYPE_CONTROL,EP_SINGLE_64); // init ep0
_usbConfiguration = 0; // not configured yet
UEIENX = 1 << RXSTPE; // Enable interrupts for ep0
}
la variable _usbConfiguration est mise à zéro.
Donc si on n'a rien de branché la fonction qui envoie des données n'est pas appelée et la LED ne clignotera donc pas.
en reliant 2 arduino par l'interface série (Pins 0 et 1) on ne passe plus par la partie USB Core mais HardwareSerial - j'ai pas creusé mais la fonction write() dans ce cas gère directement l'émission sans faire clignoter les LEDs
Bonjour hbachetti
quote author=hbachetti link=msg=3940680 date=1541888670]
Également sur une NANO, y compris avec CH340, le convertisseur USB est désactivé si l'USB n'est pas branché.
Les LEDs ne sont pas un indicateur de fonctionnement de l'UART.
[/quote]
Au cas où l'USB n'est pas connecté, le CH340 ou FT232 sont toujours alimentés, ayant le même VCC que le processeur, donc la LED fonctionne toujours, donc c'est un bon indicateur.
J'en ai fait l'essai avec:
Le câble USB
sans le câble et alimenté en 5V.
sans le câble et alimenté en 12V. sur Vin
et la LED fonctionne toujours.
OUI j'arrive. Laissez moi le temps de me réveiller.
Il y a bien une différence entre câble USB branché et débranché, car le CH340 est désactivé, et il ne consomme pas plus de 80µA. Je pensais qu'il serait hors service.
Mais effectivement, j'ai vérifié, si on le sollicite par un envoi de caractères, il est réactivé, et la LED TX s'allume.
Avec une NANO clone CH340, la LED clignote.
Même essai avec une UNO clone CH340. Même résultat. La LED clignote.
Je n'ai pas de UNO officielle sous la main.
Avec une LEONARDO officielle, La LED ne clignote pas.
Je viens de faire l'essai sur une carte Uno d'une autre provenance, même symptôme.
Sur une Nano, idem.
Je doit merder quelque part, mais où ...
Une carte UNO ou NANO clone ?
mais elle ne clignote plus si je passe l'Arduino sur une alimentation dédiée, ce qui est normal car elle est alimentée moins d'1ms toutes les secondes
Personnellement j'envoie 1 caractère à 115200 baud et on la voit très bien clignoter.
Je dirais : ce n'est pas parce que les LEDs ne s'allument pas sur certaines cartes qu'il faut s'inquiéter.
Câbler une NANO en récepteur en face RX->TX et TX->RX et afficher ce qu'elle reçoit.
jpbbricole:
Bonjour J-M-LIl y a des gens riches sur ce forum
Salut - disons que pendant un temps je ne voulais pas télécharger de drivers à la provenance douteuse sans pouvoir regarder le code source sur mon mac donc je ne prenais que de l'officiel, qui fonctionne avec le driver fourni par le constructeur. les quelques euros de plus pour des cartes sans CH340 ne m'ont pas ruiné et j'ai même des cartes officielles, ma contribution au projet...
Quand j'ai commencé à jouer avec les Wemos là il a bien fallu aller regarder ailleurs cependant... mais sans compromettre la sécurité de ma machine.
Il n'y a plus qu'à attendre que Doumai se réveille pour faire un essai de communication sans regarder les LEDs.
S'il ne se réveille pas à 14H du matin comme mon fils ...
C'est vrai que c'est important de contribuer, je le fais au moment de télécharger.
C'est quand même grâce à l’investissement d'une poignée de gars que l'on prends autant de plaisir à "bricoler" ces petites bêtes.
Merci à tous les intervenants.
Mes 4 cartes Uno + Nano fonctionnent.
Effectivement, ma déduction comme quoi la LED TX ne s'allumait pas car elle n'était alimentée 1 ms chaque seconde et que l’œil ne pouvait pas voir ce phénomène est fausse. En alimentant mes Arduino avec une alimentation dédiée et en mettant un coup d'oscillo numérique, on voit bien qu'elle n'est pas alimentée alors que le signal TX est bien présent.
Comme quoi, j'aurai dû faire toutes les mesures avant d'ouvrir un post. mea culpa.
Du coup, le logiciel complet que j'avais écrit à l'origine fonctionne (TX sur l'oscillo).
Il ne me reste plus qu'un problème à résoudre, c'est que ce logiciel Midi fonctionne associé à un interface Midi/USB après téléversement, mais ne fonctionne plus quand l'Arduino est branché sur une alimentation dédiée et toujours associé à l'interface Midi/USB (je lis les données avec un moniteur Midi sur PC). Je vais étriper l'interface.
L'avantage de l'Arduino est que j'ai mis 1 heure pour écrire le code, alors qu'avec un PIC en assembleur il m'aurait fallu 3 jours (et encore, je doit être optimiste). L'inconvénient est que dans un Arduino, je ne sais pas tout ce qui ce passe alors que dans un PIC oui.
J-M-L:
en regardant le code de plus près ..............................
Donc si on n'a rien de branché la fonction qui envoie des données n'est pas appelée et la LED ne clignotera donc pas.
en reliant 2 arduino par l'interface série (Pins 0 et 1) on ne passe plus par la partie USB Core mais HardwareSerial.la fonction write()[/url] dans ce cas gère directement l'émission sans faire clignoter les LEDs
Doumai:
Il ne me reste plus qu'un problème à résoudre, c'est que ce logiciel Midi fonctionne associé à un interface Midi/USB après téléversement, mais ne fonctionne plus quand l'Arduino est branché sur une alimentation dédiée et toujours associé à l'interface Midi/USB (je lis les données avec un moniteur Midi sur PC). Je vais étriper l'interface.
Le GND du PC (et donc de la partie MIDI) et le GND de votre alimentation dédiée sont ils reliés ?