Wie `Cat '-Datei in einem bestimmten Baud?
-
16-09-2020 - |
Frage
Ich verwende UCSIM, um den Einheitstest auf SDCC-Projekten zu leisten.
In UCSIM / S51 können Sie den seriellen Zeilenverkehr mit
simulieren generasacodicetagpre.oder
generasacodicetagpre.In letztererer Form werden die Daten sofort an den Simulator gesendet, der verursacht, dass viele Frames verloren gehen.Anstatt die Testdaten in der einfachen Datei mit Pipe stattdessen zu verwenden:
generasacodicetagpre.Nun, wie kann ich den Ausgang Baud aus dem Utility "Cat" steuern?Oder gibt es ein anderes Dienstprogramm, das ich in einem bestimmten Satz, um Bits verwenden zu können?
Lösung
Antwort 1 ist falsch.Niemand "füttert die Inhalte der Datei in die serielle Zeile.UCSIM liest aus der Datei, wenn dies erforderlich ist.Die Baudrate wird von SFRs von Timer und UART gesteuert.Wenn nötig, dass die Zählung von Ticks simuliert werden, wird ein Byte aus der Datei gelesen.
Andere Tipps
Die Rate, die Sie mit der In= Datei füttern, ist nicht, wie der Preis eingestellt ist.Der Simulator hat keine Möglichkeit, zu wissen, wann Ihre Anwendung den seriellen Anschluss initialisiert hat, und ist bereit zu lesen.Sie fehlen wahrscheinlich Daten, da der Simulator den simulierten seriellen Anschluss vor dem Ausführen Ihres seriellen Initialisierungscodes fährt.
Was Sie tun müssen, ist eine FIFO-Datei mit mkfifo
eingerichtet (siehe MAN-Seite), dann verwenden Sie das als Ihren In= Parameter.Dann füttern Sie diese FIFO-Datei mit Daten, nachdem Ihre simulierte Anwendung ab- und auszuführen ist.