RTClock Frage

  • 1
  • 2
  • Page 1 of 2
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 767
Registered: 06 / 2013
Subject:

RTClock Frage

 · 
Posted: 02.09.2021 - 15:34  ·  #1
Hallo,
Ich teste gerade RTClock bei einen XMega256A3U und lese das ich mit
Define RTCsource = SysTick[, adj]; {optional}

einen wert von -100 bis +100 einstellen kann.

Aber wie ist die richtige schreibweise ?


Code

 RTclock        = iData, DateTime; {Time or DateTime}
 RTCsource      = SysTick[-10,adj];  <<=====Fehler

 RTclock        = iData, DateTime; {Time or DateTime}
 RTCsource      = SysTick[-10];  <<=====Fehler



Code

Wird die RTC mittels „Define RTCsource = SysTick“ durch den SysTick betrieben, wird kein Timer benötigt.
Der optionale Parameter adj bei der Definition der RTCsource = SysTick dient zum fein Justieren der RTC.
Hiermit kann durch ausprobieren des Wertes (min –100, max +100) der Korrektur-Wert bestimmt werden,
mit dem die RTC am genauesten läuft. Damit ist eine Genauigkeit von +/- 1sec/Tag erreichbar. Zum
Erfassen des Wertes wird eine präzise Uhr, z.B. DCF77 Uhr benötigt




Gruß Frank
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 16:50  ·  #2
I haven't tried it, Frank, but I imagine the correct syntax is

Code
RTCSource = SysTick, -10;
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 767
Registered: 06 / 2013
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 16:54  ·  #3
Hello Melin, Thanks for the help but the syntax is not correct either.
Hallo Melin, Danke für Hilfe aber der Syntax stimmt auch nicht.


Gruß Frank
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 17:56  ·  #4
It works for me, Frank. Here is my source:

Code
import SysTick, watchdog, RTClock;

from System import longint;


define
  ProcClock      = 3333333;       {Hertz  20MHz/6}
  Systick        = 5;             {msec}
  StackSize      = $0010, iData;
  FrameSize      = $0010, iData;
  watchdog       = msec2000;       {presc = 7}
  RTclock = iData, Time;
  RTCSource      = Systick, -10;



Maybe there is some other issue with your code.

What is your processor definition?
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 767
Registered: 06 / 2013
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 18:32  ·  #5
Hallo Merlin

I'll show you my code
Your new code doesn't work with me either

Ich zeige dir mal meinen Code
Dein neuer Code geht bei mir auch nicht



Code


{$NOSHADOW}

{ $WG}                     {global Warnings off}

Device = xmega256A3U, VCC=3.3;

{ $BOOTRST $20000}         {Reset Jump to $20000}

Import SysTick, RTClock,       SerPortE1,   // EXTERN RS232

From System Import   LongWord, Random, LongInt, fix64, float;

From RTclock Import RTCtimer;


Define

// XMega USB must use the internal 32MHz OSC. So the system must use the 2MHz OSC
  OSCtype        = int32MHz,
                   PLLmul=4,
                   prescB=1,
                   prescC=1;

  SysTick        = 10;             {msec}

  StackSize      = $0100, iData;
  FrameSize      = $0200, iData;
  

//Serielle E1 EXTERN
  SerPortE1        = 115200,  Stop1;             // EXTERN RS232
  RxBufferE1       = 50, iData;
  TxBufferE1       = 50, iData;


  RTclock        = iData, DateTime;
  RTCSource      = Systick, -10;   //<<=================================== ERROR

Implementation
{$IDATA}
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 18:40  ·  #6
Hi Frank,

wie lautet die Fehlermeldung?

Harry

Ein altes Programm, das funktioniert:
Code

Import SysTick, LCDGraphic, RTClock, DCFClock, SwitchPort_G, BeepPort, ADCPort,
       I2Cport;

From System Import Processes;
From LCDGraphic Import CharSet;                     {block CharSet, pixels}

Define
        ProcClock    = 16000000;                    {Hertz}
        SysTick      = 10, Timer0;                  {msec}
        StackSize    = $0100, iData;
        FrameSize    = $0100, iData;
        
        LCDGraphic   = 240, 128, 8;                 {x-pix, y-pix, accesswidth}
        GViewports   = 1, iData;                    {logical ViewPorts, scalings}
        DefCharSet   = 'Graphchars.pchr';           {FileName}
        TGraphStr    = 24;                          {Graphic Text String Length}
        
        RTClock      = iData, DateTime;
        RTCSource    = SysTick;
        //RTCTimer     = 1;
        
        DCFclock     = iData;
        DCFport      = PinB, 0, positive;   { Port, Pin#, Polarity             }
        DCFfieldMode = reset;


EDIT ..... Vergiß es da hab ich die Kalibrierung nicht verwendet weil DCF77-synchronisiert :D
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 767
Registered: 06 / 2013
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 18:51  ·  #7
Harry bei mir sagt er immer das es nach den SysTick ein Semmi haben will
RTCSource = SysTick;


Gruß Frank
Merlin
Administrator
Avatar
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: RTClock Frage

 · 
Posted: 02.09.2021 - 19:42  ·  #8
Hi Frank.

From the manual,

Quote
The RTC needs the ASSR register,


The processor xmega256A3U does not have this register
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   137   151 · Page-Gen-Time: 0.03753s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI