Hi Rob and Vasile,

Thank you for your input.
My code is very big (and confuse) by now.
Anyways, only need an effective RTC to increment a variable, no matter what 
PIC is doing...
Problem is I have no experience using interrupts (software ones) with PICs.

Good point about that second oscillator. Remember now, my eyes crossing 
that info in the datasheet...
But, I think that will not need that. I don't need a precise RTC. My code 
will use a time base of 10seconds.
Problem is when PIC is doing some actions like reading SMSs, deleting SMSs, 
resetting modem, etc.... those actions take almost a minute, so I need 
interrupts to keep track of elapsed time.
Thank you very much.

Cheers,
FS

On Thursday, January 12, 2023 at 5:09:14 AM UTC vasile wrote:

> 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/6c46fd5a-b3a9-496f-8d8e-c4359afdf30en%40googlegroups.com.

Reply via email to