Je veux utiliser Tx et Rx, je voulais donc faire une connexion UART mais j'ai seulement besoin de connaitre l'état de la broche Rx, est ce possible d'utiliser seulement l'état des broches ?
Car lorsque j'applique ce code :
const int rxPin = 11;
void setup() {
pinMode(rxPin, INPUT);
Serial.begin(9600);
}
void loop() {
int etatBrocheRx = digitalRead(rxPin);
// Afficher l'état de la broche Rx
if (etatBrocheRx == HIGH) {
Serial.println("État de la broche Rx : HAUT");
} else {
Serial.println("État de la broche Rx : BAS");
}
delay(1000);
}
Hors j'ai tout le temps l'état haut de la broche alors que je suis censé avoir aussi l'état bas donc soit c'est le câblage que je dois revoir OU soit justement le faite qu'on ne puisse pas avoir l'état de ces broches d'où ma question
Ahhhh je ne savais pas dutout merci pour cette infos ducou pour les solutions soit je diminue le délai par exemple 0.1ms ou alors je peux aussi augmenté les baud ?
Merci pour l'info !
En fait, la demande n'est pas très claire.
Qu'est-ce que tu entends par "faire une connexion UART mais j'ai seulement besoin de connaitre l'état de la broche Rx"
tu veux lire l'état de RX parce que tu y connectes un signal tout-ou-rien?
En gros j'ai besoin de recevoir un signal sur l'état de la broche Rx d'une autre carte électronique. C'est à dire que ma carte Adafruit feather M0 sur laquelle j'envoie mon code arduino est connecté à l'autre carte électronique (un pcb développé par une entreprise et étant dans un outil). La broche Rx à l'état signifie que l'outil est réveillé et à l'état bas cela signifie que l'outil est endormi. Je veux don juste récupérer l'état de la broche Rx.
Je parlais d'une connexion UART car je pensais au début à récupérer les états par cette connexion mais il est plus facile de simplement récupérer que l'état de la broche (si il est possible de le faire sans connexion UART / sans protocole UART). En gros le protocole UART me prendrais plus de temps que simplement récupérer l'état d'une broche.
Juste pour ne pas laisser sous-entendre que ce que tu veux faire serait faisable en UART.
Le UART est un Protocol d'échange de donnée, c'est à dire que le point A échange des données avec le point B, en utilisant le même langage des deux cotes.
Si l'un des deux cotés ne connais pas le langage, il n'y a pas de communication possible.
De plus, souvent le protocole rajoute des sortes de balises, c'est à dire des changements d'état.
Un état étant lui même "codé" électriquement.
J'ai un problème de changement d'état de la broche Rx. Elle n'est surement pas reconnue et donc son état ne change pas. Cela fait plusieurs heures que j'essaye de régler le problème sans succès. Est ce que quelqu'un serait d'où cela peut venir ?
(je mets en pièce jointe la carte que j'utilise ainsi que le code
const int rxPin = 11;
void setup() {
pinMode(rxPin, INPUT);
Serial.begin(9600);
}
void loop() {
static int oldEtat = HIGH;
int etatBrocheRx = digitalRead(rxPin);
// Afficher l'état de la broche Rx
if (etatBrocheRx != oldEtat) {
if (etatBrocheRx == HIGH) {
Serial.println("État de la broche Rx : HAUT");
} else {
Serial.println("État de la broche Rx : BAS");
}
oldEtat = etatBrocheRx; // Mettre à jour oldEtat avec la nouvelle valeur
}
}
Lorsque le câble PC - carte n'est pas connecté à la carte j'ai une tension de 2.711V au reveil et 0.892V à l'endormissement
Pour rappel la carte est alimenté par le PC pour que je puisse envoyer le code , mais elle est aussi alimenté par l'alimentation outil qui alimente la carte électronique dont j'ai besoin pour Rx et Tx , la carte vise à être autonome sur l'alimentation outil
Houlala, on peut avoir un dessin de tout ça?
Il y a toujours une certaine ambiguïté dans ton histoire. Tu continues de parler de Rx Tx alors que j'avais cru comprendre qu'il était question d'un état logique à détecter.
Je suis du même avis que @fdufnews un schéma serait bien venue.
La broche 11 est la broche RX de ta carte de développement ?
On ne voit pas bien sur l'image qui est un peu flou.
Ou Rx est la broche de ton outil ?