2014-09-18 4 views
0

Je travaille sur un projet avec les contrôles UART. J'essaie de simuler l'envoi et la réception de messages via l'UART. L'UART sera connecté à un émetteur-récepteur RS-485 dans le monde réel mais je fournirai l'entrée/sortie via un fichier test.c.atmel simulant UART comm

Actuellement, je dois mettre en pause l'exécution du programme dans le simulateur, retourner manuellement le bit et retourner le programme à l'exécution à nouveau pour que l'UART envoie environ octet.

Ma question au groupe est: Puis-je automatiquement régler le bit TXC pour simuler un transfert réussi d'octets? Je suis en train de lire la documentation d'Atmel et de déchiffrer comment configurer un fichier de stimuli. Cela aiderait puisque je voudrais rendre les tests de communication plus compliqués au plus profond du développement.

Merci, Ryan

Répondre

0

Pour moi, il est assez difficile de comprendre votre anglais ...

définir le bit TXC pour simuler un transfert réussi

Sur le matériel réel vous ne pouvez pas définir TXC manuellement.

Si vous parlez d'environnement de simulation, je n'utilise que http://www.nongnu.org/simulavr pour effectuer ce type de travaux. Dans ce simulateur, vous pouvez simplement ajouter un c/C++ - testprogram qui s'exécute sur l'hôte de la façon hôte natif et connecter un uart simulé au simulateur qui exécute votre programme avr.

+0

S'excuse pour le pauvre anglais. Le bit TXC est le sixième bit de l'UCSR0A (TXC0) ou de l'UCSR1A (TXC1). Cela signalerait une transmission complète dans le registre, déclenchant ainsi une routine ISR. Le programme programme simulavr, est-il gratuit et est-il livré avec une bonne documentation/tutoriels? Peut-il être ajouté à l'AtmelStudio 6 via un plugin? – user3826668

+0

Il existe un exemple qui utilise l'uart à partir de la simulation. Il n'y a pas de plugin ou autre chose pour AvrStudio. Le programme ou la bibliothèque est autonome et fonctionne à partir de la ligne de commande. Vous pouvez lancer n'importe quel type de débogueur ou vous pouvez également ajouter un python ou un gui tcl pour le tester. Il faut un peu de temps pour apprendre, mais cela aide beaucoup avec la simulation matérielle réelle. Je ne connais aucun autre outil qui puisse vous aider avec les interruptions et l'analyse d'exécution. – Klaus