Antworten

Der Beitrag verursachte die folgenden Fehler, die behoben werden müssen:
Achtung: In diesem Thema wurde seit 120 Tagen nichts mehr geschrieben.
Wenn Sie nicht absolut sicher sind, dass Sie hier antworten möchten, starten Sie ein neues Thema.
Einschränkungen: 8 pro Beitrag (8 verbleibend), maximale Gesamtgröße 8,79 MB, maximale Individualgröße 1 MB
Entfernen Sie den Haken der Dateianhänge, die gelöscht werden sollen
Klicken Sie hier oder ziehen Sie Dateien hierher, um sie anzuhängen.
Anhänge und andere Optionen
Verifizierung:
Bitte lassen Sie dieses Feld leer:
Geben Sie die Buchstaben aus dem Bild ein
Buchstaben anhören / Neues Bild laden

Geben Sie die Buchstaben aus dem Bild ein:

Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau

Zusammenfassung

Autor ^Cobra
 - 02.04.2023, 14:07:20 CEST
Ah da was mein Fehler Danke 
Autor PICkel
 - 02.04.2023, 13:28:25 CEST
Passt schon:

Überschlagsrechnung mit glatt 10MHz (nicht mHz= Millihertz!):
1 MHz:  1us/Schwingung
10 MHz: 0,1us/Schwingung

OST zählt 1024 Schwingungen ab: 0,1 us*1024 = 102,4us = ca. 0,1ms

Gruß
PICkel
Autor ^Cobra
 - 02.04.2023, 13:17:42 CEST
Ich lese mir das durch und denke, kann ich (mal wieder) nicht rechnen?
Eine Schwingung ist doch bei 10,24mhz
1/10240000 =0,00000009765625s

Das in sind doch dann 0,00009765ms und somit 0,09765us.

Was habe ich übersehen, nicht verstanden? 
Autor PICkel
 - 02.04.2023, 12:38:22 CEST
Zitat von: picass in 02.04.2023, 09:46:55 CESTDie eintausendvierundzwanzig "Einschwinger" bedeuten bei dem 10,24 MHz-Quarz eine einzige Milli-Sekunde.

Genaugenommen sogar nur 0,1ms, wenn ich mich nicht verrechnet habe.
Mach's doch wie viele Fernbedienungen: Erst ein "langes" Startsignal senden. Das ist bei vielen FB 4,5 oder 9ms lang. Das dient u.a. dem Anpassen der automatischen Verstärkungsregelung (AGC) im TSOP und der uC kann in aller Ruhe erwachen.
Nach der nachfolgenden Pause, bei vielen FB 4,5ms lang,  kommen die eigentlichen Datenbits.

MfG
PICkel 
Autor picass
 - 02.04.2023, 09:46:55 CEST
Nein, besonders eilig ist da nichts. Die eintausendvierundzwanzig "Einschwinger" bedeuten bei dem 10,24 MHz-Quarz eine einzige Milli-Sekunde. Runtergebrochen auf genau den angedachten Einsatzzweck - zum Empfangen von IR-Signalen und letztlich dem Steuern eines Garagentores - stört das nicht.

Die Millisekunde spielt allerdings doch wieder eine Rolle, wenn es darum geht, das Protokoll anzufertigen. Da sind Sende - u. Empfangs-Signale schon zu koordinieren.
Grüße, picass
Autor PICkel
 - 01.04.2023, 19:03:22 CEST
Nachtrag, da mir die Schnellbearbeitung kein Speichern anbot:

Wenn's ganz schnell gehen soll:
2-Sped-Startup aktivieren, siehe P18F14K22-Dabla Punkt 2.11. Dann startet der PIC sofort mit dem internen Takt und schaltet nach Ablauf des OST auf extern um.

MfG
Autor PICkel
 - 01.04.2023, 18:40:02 CEST
Zitat von: picass in 01.04.2023, 10:47:29 CESTAber richtig scheint zu sein, dass z.B. bei Verwendung eines externen Taktes mit Quarz just dessen Schwingungen am Takteingang zählen und nicht der intern durch vier geteilte. Habe ich das so richtig verstanden?

So sieht's wohl aus, das sehe ich genauso!

Das Dabla bezieht sich ja nur auf OSC1. Und der ist nur bei ext. Quarz bzw. Resonator aktiv. Zum OST steht da auch:
The Primary External Oscillator, when configured for LP, XT or HS modes, incorporates an Oscillator Start-up Timer (OST).

Bei HFINTOSC/LFINTOSC ist der OSC1-Pin ein normaler I/O-Anschluss.
Beim INTOSC kann zwar (je nach CONFIG-Word) der Befehlstakt an OSC2 ausgegeben werden, aber im Dabla ist beim Startup-Timer nur von OSC1 die Rede.

Gruß
PICkel

Autor picass
 - 01.04.2023, 10:47:29 CEST
Würde gerne die letzte Ungewissheit ausräumen, wie lang die benötigte Zeit fürs Aufwachen aus dem Sleep-Modus ist. Dazu steht im Datenblatt für den PIC18F14K22, Auszug DB:

,,
2.8 Oscillator Start-up Timer

The Primary External Oscillator, when configured for LP, XT or HS modes, incorporates an Oscillator Start-up Timer (OST). The OST ensures that the oscillator starts and provides a stable clock to the oscillator module.
The OST times out when 1024 oscillations on OSC1 have occurred.
During the OST period, with the system clock set to the Primary External Oscillator, the program
counter does not increment suspending program execution. The OST period will occur following:
• Power-on Reset (POR)
• Brown-out Reset (BOR)
• Wake-up from Sleep
• Oscillator being enabled
• Expiration of Power-up Timer (PWRT) ,,

War bislang immer vom Befehlstakt ausgegangen, also µC-Takt geteilt durch vier. Aber richtig scheint zu sein, dass z.B. bei Verwendung eines externen Taktes mit Quarz just dessen Schwingungen am Takteingang zählen und nicht der intern durch vier geteilte. Habe ich das so richtig verstanden?
Grüße, picass
Autor picass
 - 16.03.2023, 10:47:19 CET
Gestern kam mir beim Rumschnüffeln im Datenblatt im Kapitel über die Config Words (CW) noch ein anderer Gedanke. Da fiel mir auf - erst gestern (!) :-* - , dass es auch für diese CW's beim Start eines Progs Default-Werte gibt. Also könnte/müsste es reichen, wenn man nur für Abweichungen die geänderten Werte postet. Dazu wäre dann ggf. wieder die verkürzte Schreibweise geeignet, die ich bis dato mal in meinen Progs hatte.
Die aktuell nicht-verkürzte Schreibweise bedeutet halt, das schon angesprochene Hilfs-Tool in der MPLAB-IDE zum "geführten" Erstellen der CW's zu nutzen und dessen Ergebnis dann bequemerweise zu kopieren, rsp. komplett ins Prog zu übernehmen - was dann aber eben zur DIN-A-4-Füllung führt. Probiere das mit den Default-Werte mal aus.

Es ist doch - zumindest für mich - immer wieder aufs Neue eine Quelle von Neuem, dieses verdammt lange Datenblatt! ;)
Nur als Randnotiz: Das Kapitel über die CW's steht bei meinem Datenblatt unter 23. Vielleicht nutzen wir verschiedene Versionen des DB's.
Grüße, picass
Autor vloki
 - 15.03.2023, 10:25:52 CET
Zitat von: picass in 15.03.2023, 10:11:48 CETaber das in jedem Ausdruck meiner Programmentwürfe eine DIN-A4-Seite nur mit diesem Gefummel befüllt wird, geht mir auf die Nerven.

Ich mache das "Gefummel" immer in eine eigene Datei,
die ich unter Umständen dann auch noch in mehreren Projekten verwende  ;-)

Similar topics (1)