Usart2 mega2560

Bonjour à tous

ATMEGA2560 USART2
Peux t on utiliser de facçon clasique eg Serial2.println( buffer)

et avoir la reception en utilisant les interruptions internes relatives à l'usart2
<UCSR2B|=((1<< RXCIE2)|(1<<RXEN2)) //init rx en int
ISR(USART2_RX_vec)
{
rxDat=UDR2;
got_rxData=true;
}

cordialement
rémyf650

:warning:
Post mis dans la mauvaise section, on parle anglais dans les forums généraux. ➜ déplacé vers le forum francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone”

Bonjour,

Qu'est ce que tue veux faire? Les liaisons série sont gérées en interruption par le framework.

Bonsoir remyf650

On peut aussi gérer les interruptions en réception de l'usart2 avec:

void serialEvent2() {
  //statements
}

Cordialement
jpbbricole

Bonjour
cela ne fonctionne pas dans mon cas le serialEvent2() n'est pris en compte qu'a chaque tour de la boucle loop
en fait je pilote une alimentation de puissance via le port de com après de l'envoi d'une commande l'alimentation retourne un status adresse port com espace suivi de ok si la commande a été bien reçue.
je vais travailler en interruption tant en émission qu'en réception. Jai fait éssais en mélangeant l'envoi via un Serial2.print (Commende); et la prtie Réception en interruption il y a conflit.
demain si je le peux je fais les tests.
merci d'avoir répondu
Cordialemnt
Rémyf650

L'émission et la réception fonctionnent déjà en interruption, c'est comme ça que sont gérés les buffers d'émission et de réception. serialEvent permet juste de traiter les caractères reçus sans avoir à faire le guet avec serial.available. Si tu n'as pas de code bloquant le fait que serialEvent ne soit géré qu'une fois par loop() n'a pas un gros impact eu égard à la vitesse à laquelle les caractères arrivent.

Bonjour
effectivement cela travaille en interruption

le souci c'est que j'ai un code bloquant. je vais travailler avec les ISR relatives au port série .

merci de votre réponse
cordialement
Rémyf650

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.