Comment `Cat 'File dans un baud spécifique?
-
16-09-2020 - |
Question
J'utilise UCSIM pour faire un test unitaire sur des projets SDCC.
dans UCSIM / S51, vous pouvez simuler le trafic de ligne série par
s51 -s /dev/tty PROGRAM.ihx
ou
s51 -S in=testdata.in,out=testdata.out PROGRAM.ihx
sur cette dernière forme, les données sont immédiatement envoyées au simulateur qui provoque une perte de nombreux cadres.Donc, au lieu de donner aux données de test dans un fichier ordinaire, en utilisant le tuyau à la place:
s51 -S in=<(cat testdata.in),out=testdata.out PROGRAM.ihx
Maintenant, comment puis-je contrôler la sortie Baud de l'utilitaire `chat '?Ou existe-t-il un autre utilitaire que je peux utiliser pour produire des bits de vitesse spécifique?
La solution
Réponse 1 est incorrect.Personne ne "nourrit" le contenu du fichier à la ligne de série.UCSIM lit depuis le fichier quand il est nécessaire.Le débit en bauds est contrôlé par des SFR de la minuterie et de UART.Si nécessaire, le nombre de tiques est simulé, un octet sera lu dans le fichier.
Autres conseils
Le tarif que vous alimentez le fichier in= n'est pas la manière dont le taux est défini.Le simulateur n'a aucun moyen de savoir lorsque votre application a initialisé le port série et est prêt à lire.Vous êtes probablement des données manquantes car le simulateur alimente le port série simulé avant l'exécution de votre code d'initialisation en série.
Ce que vous devez faire est de configurer un fichier FIFO avec mkfifo
(voir la page Man), puis utilisez-le comme votre in= paramètre.Nourrissez ensuite que le fichier FIFO avec des données après votre application simulée est opérationnel.