Yep. If a secondary oscillator available, definitely yes for the RTC,
except maybe for running at -20C where a good TCXO is expensive, using only
one could be an option.
Apples with pears are still fruits, not very bad comparison. :)

On Wed, Jan 11, 2023 at 7:46 PM Rob CJ <[email protected]> wrote:

> Hi Filipe,
>
> It helps if you send your program otherwise we are comparing apples with
> pears.
>
> There is another possibility. Your PIC has a secondary oscillator, meant
> for connecting a 32 kHz crystal. If you use that, you can make your own RTC
> and the only thing you need is a 32 kHz crystal and a small piece of
> software.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens flyway38 <
> [email protected]>
> *Verzonden:* woensdag 11 januari 2023 14:53
> *Aan:* jallib <[email protected]>
> *Onderwerp:* Re: [jallib] PIC16F19176 rtc help
>
> Hello Vasile,
>
> I think that have already tried that sample, but as said before, think i
> fall into some LIB errors...
> Will check again, but maybe get stuck while adapting it to my PIC...
> Will back here with results.
> Thank you very much.
>
> Cheers,
> FS
>
> On Wednesday, January 11, 2023 at 3:50:33 AM UTC vasile wrote:
>
> Hi Fellipe,
> You will not like my ideea but any rtc can be implemented in any pic, much
> better than using an external RTC, by using Bresenham zero error algorithm.
>
> It's in the sample and works perfect with all timers.
>
> It's set to seconds but works down to 1ms for fast pics.
> You have just to set a flag in the isr when time passed and reset it in
> the main after you have read it.
>
> The only thing to care is the total lenght of your isr, including your own
> application which must be shorter than time genetated (aka 1 second or
> shorter).
>
>
> On Tue 10 Jan 2023, 9:25 PM flyway38 <[email protected] wrote:
>
> Hi Rob,
>
> It seems something not working...
> Not sure why, but using your sample (part of it, check below what have
> integrated in my code from your sample), it doesn't even reach the FOREVER
> LOOP...
> Maybe because am using serial_hw_int_cts instead of serial_hardware, or
> even because am using timer0_isr_interval... don't know...
> Here's what am using from your sample:
>
> -- Settings for the RTC and intialization.
> alias rtc_sck is pin_C0 -- Pin 10 for 14 pin DIP
> alias rtc_sck_direction is pin_C0_direction
> alias rtc_sdo is pin_C1 -- Pin 9 for 14 pin DIP.
> alias rtc_sdo_direction is pin_C1_direction
> -- If you want to use software IIC, define the following constant.
> -- const RTC_SOFTWARE_IIC = TRUE
> include rtc_ds3231
>
> -- Setting to check the alarm on a poll basis or interrupt bases. When
> -- defined the alarms are checked using the external interrupt of the PIC.
> -- Using the interrupt has its limitations for this rtc as explained in the
> -- sample interrupt routine below.
> -- const ALARM_ON_INTERRUPT = TRUE
>
> -- Print the current time of the rtc.
> procedure print_time() is
>
>    var byte hours, minutes, seconds
>
>    rtc_get_time_bin(hours, minutes, seconds)
>    print_string(serial_hw_data, "H:")
>    print_byte_dec(serial_hw_data, hours)
>    print_string(serial_hw_data, " M:")
>    print_byte_dec(serial_hw_data, minutes)
>    print_string(serial_hw_data, " S:")
>    print_byte_dec(serial_hw_data, seconds)
>    print_crlf(serial_hw_data)
>
> end procedure
>
> -- Example of handling the alarm on an interrupt basis. Note that we cannot
> -- call any of the RTC procedures because it will interfere with the IIC
> -- transmission. We can only set a flag that can be checked later. Note
> that
> -- the interrupt is edge triggered. The rtc interrupt stays low as long as
> -- the alarm flag of the RTC is set.
> if defined(ALARM_ON_INTERRUPT) then
>    procedure alarm_interrupt is pragma interrupt
>       if INTCON_INTF then
>          INTCON_INTF = FALSE
>          alarm_was_given = TRUE
>       end if
>    end procedure
> end if
>
> rtc_init()
>
> -- Enable interrupts if setting is defined.
> if defined(ALARM_ON_INTERRUPT) then
>    INTCON_INTE = TRUE
>    -- Interrupt on falling edge.
>    OPTION_REG_INTEDG = FALSE
>    INTCON_GIE = TRUE
>    rtc_enable_alarm_1_interrupt()
>    rtc_enable_alarm_2_interrupt()
> end if
>
> Don't need to use any Alarms...
> But need to use Timer Interval to do some checks regularly.
>
> Anyways, have put just before FOREVER LOOP:
> -- Set some intial time hh:mm:ss in binary format and print it.
> rtc_set_time_bin(18, 51, 30)
> print_time()
> This code doesn't run...
>
> Any ideas?
> Thank you very much.
>
> FS
> On Tuesday, January 10, 2023 at 6:45:27 PM UTC flyway38 wrote:
>
> Hi Rob,
>
> Wow.
> Thank you very much for the fast reply.
> Will check and back here with results.
>
> Cheers,
> FS
>
> On Tuesday, January 10, 2023 at 6:35:45 PM UTC [email protected] wrote:
>
> Hi Filipe,
>
> I took the sample program 16f1825_rtc_ds3231.jal and changed it for the
> 16f19176.
>
> No compiler issues.
>
> See attachment.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* [email protected] <[email protected]> namens flyway38 <
> [email protected]>
> *Verzonden:* dinsdag 10 januari 2023 19:04
> *Aan:* jallib <[email protected]>
> *Onderwerp:* [jallib] PIC16F19176 rtc help
>
> Hello all,
>
> Need help on coding for an rtc for the 16F19176.
> Have tried many samples with no luck. They get alot of failures, like not
> defined terms...
> Need to implement a simple RTC code to keep track of time even if PIC is
> handling "closed loop" routines, like reading Comm Port or resetting the
> gsm modem, etc...
> Need these routines to get interrupted, and finished after RTC updates
> time.
> It would be a very fast code, only to increment a variable.
> Need some sample code adapted for this PIC, please.
> Thank you
>
> Kind regards,
> Filipe Santos
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/4b03768d-331b-4a4c-aa10-afbf73fc952cn%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/4b03768d-331b-4a4c-aa10-afbf73fc952cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
>
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/792ae118-9ffe-496b-b214-9ef697d45133n%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/792ae118-9ffe-496b-b214-9ef697d45133n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/2cd70652-2a40-4954-bfef-1b9ec4730363n%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/2cd70652-2a40-4954-bfef-1b9ec4730363n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/GVXP195MB16377FF3705503B6715619CFE6FC9%40GVXP195MB1637.EURP195.PROD.OUTLOOK.COM
> <https://groups.google.com/d/msgid/jallib/GVXP195MB16377FF3705503B6715619CFE6FC9%40GVXP195MB1637.EURP195.PROD.OUTLOOK.COM?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/CAM%2Bj4qvzLJ5xbT2F5tHy03WE_%2BXGFZt4GgNYcmv--tkGn2KYCA%40mail.gmail.com.

Reply via email to