Liebes Forum, leider habe ich nicht die Erfahrung und Kenntnisse in der Powershell mir über ein serielle Schnittstelle das Datum und die Zeit auszugeben, die ich dann in meinen µC einlesen möchte. Anbei das Scipt, was ich schon benutze, und in dem ich ein Problem mit der Übertragung der Jahreszahl habe. Im Grund läuft die Übertragung ja, nur ich benötige das Jahr als Byte, also nur die beiden letzten Zahlen. Wie muss der Befehl $port.Write((Get-Date-format yy)."year"); so formartiert werden, dass er mir nur die 18 von dem jetzigen Jahr ausgibt? In der Formatierung geht es leider nicht :( $ErrorActionPreference = "SilentlyContinue" #Fehlermeldungen auschalten $port= new-Object System.IO.Ports.SerialPort COM46,115200,None,8,one #Comport definieren $port.open() #Serielle verbindung starten "Auf Mikrocontroller warten..." $port.write("U") $port.write( "`r") Do{ #Mit µC synchronisieren, Solange lesen, bis Zeichen von µC bekommen $test = $port.ReadLine() } Until ($test="1") cls "Signal erhalten!" "beginne übertragung der Uhrzeit..." "" Start-Sleep -Milliseconds 100 #100ms warten $port.Write() #Testzeile schreiben $port.Write((Get-Date-format yy)."year"); $port.Write("`r") $port.Write((Get-Date).month); $port.Write("`r") $port.Write((Get-Date).day); $port.Write("`r") $port.Write((Get-Date).hour); $port.Write("`r") $port.write((get-date).minute); $port.Write("`r") $port.write((get-date).second); $port.write( "`r") $port.close() Start-Sleep -Milliseconds 100 "Zeit erfolgreich übertragen!" #Meldung ausgeben, dass die Zeit übertragen wurde " " #Leerzeile Write-Host "Beliebiege Taste zum Beenden drücken ..." $x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown") #Wenn eine beliebige Taste gedrückt wird, wird das Programm beendet
Roger S. schrieb: > (Get-Date -UFormat %y) Hi Roger, vielen DAnk für Deine Hilfe, leider geht es so nicht. Im Moment sende ich über seriell so: * $port.Write((Get-Date).hour); aber mit * $port.Write(Get-Date -UFormat %y) bekomme ich in der PS eine Fehlermeldung. Wie muss der korrekte Eintrag heißen?
Noch ein Tip am Rande: Es kann durchaus mal vorkommen dass die Fragmente aller Get-Date nicht zueinander passen. Besser, nutze den Format-String auf einem einzigen Get-Date.
1 | $port.Write((Get-Date -UFormat "%y`r%m`r%d`r%H`r%M`r%S`r")) |
Cheers, Roger
Hi Roger, wie kann ich mir den Wochentag als zahl ausgeben lassen? Also Montag = 1 Dienstag = 2 . . . Danke fü Deine Hilfe!
Matthias S. schrieb: > Hi Roger, > > wie kann ich mir den Wochentag als zahl ausgeben lassen? > Also Montag = 1 > Dienstag = 2 > . > . > . > Danke fü Deine Hilfe! Wie wärs wenn du deine Hausuafgaben selbst erledigst oder selbst einen Blick in die Doku wirfst?
Abradolf L. schrieb: > Wie wärs wenn du deine Hausuafgaben selbst erledigst oder selbst einen > Blick in die Doku wirfst? Wie wäre es bei IHNEN mit einer sinvolle Antwort??? .....Man, immer diese schwachsinnigen!!!! "sorry" musste mal sein!
Matthias S. schrieb: > wie kann ich mir den Wochentag als zahl ausgeben lassen? > Also Montag = 1
1 | (Get-Date -UFormat %u) |
siehe: https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date Cheers, Roger
Danke Roger! Ich habe das Script im Netz gefunden und so gut versucht, dieses für mich abzuwandeln. Von Powershell hab ich keinen Blassen. Und noch dazulernen kann ich nur durch Hilfen wie von Dir! Vielen Dank!
Matthias S. schrieb: > Von Powershell hab ich keinen Blassen. Dann wirds mal Zeit die Doku oder ein Buch dazu zu lesen, wenn das Arbeits- oder Studieninhalt ist. Matthias S. schrieb: > Und noch > dazulernen kann ich nur durch Hilfen wie von Dir! Nein, dadurch lernst du garnichts. Du sparst dir vermeintlich nur Zeit, weil du es dann nicht selbst machen musst.
Abradolf L. schrieb: > Dann wirds mal Zeit die Doku oder ein Buch dazu zu lesen, wenn das > Arbeits- oder Studieninhalt ist. :) nein es ist für Hobbysachen Abradolf L. schrieb: > Nein, dadurch lernst du garnichts. Du sparst dir vermeintlich nur Zeit, > weil du es dann nicht selbst machen musst. alles zu seiner Zeit. Und ja ich habe mir Zeit gespart denn ich habe jetzt nicht die Prio mich noch mit PS zu beschäftigen. Manchmal ist es halt so!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.