How do I define LONG variable?
What do I do with a situation where start is 10:00 and end is 09:00?
If using AM/PM sign, what do I do if start is at AM and stop is PM ?
How do I define LONG variable?
What do I do with a situation where start is 10:00 and end is 09:00?
If using AM/PM sign, what do I do if start is at AM and stop is PM ?
It's in your PBP manual...just like you define any other variable.
Time to start thinking a bit...What do I do with a situation where start is 10:00 and end is 09:00?
If using AM/PM sign, what do I do if start is at AM and stop is PM ?
If it starts at AM, then the flag would equal AM AND the time would match.
If it starts at PM, then the flag would equal PM AND the time would match.
Doesn't matter if it starts or stops, it's all in how you set up your If/Then statement to match what YOU want to do.
From the HELP "Size is BIT, BYTE or WORD."
Does the 16F support 32bit ?
If its not related to the PIC then why can't I ?
According to this http://www.microchip.com/stellent/id...cName=en532453
what does the 32 means if not supporting 32-bit ?
I got a solution from a friend:
This will cover all cases for start: (Same will be for end but with End values)
HH>StartHH ||
HH=StartHH & MM>StartMM ||
HH=StartHH & MM=StartMM & SS>=StartSS
Should Start programs.
The only problem is wrap around at 23:59:00 -> 00:00:00
But this will be handled with a special flag to identify change from PM->AM
Last edited by menta; - 3rd July 2008 at 17:20.
Looks like that will work (with some parenthesis added).
This should work for the rest of it ...Added: You should keep in touch with your "Friend". It was a good "Tip".Code:TimeCmpFlags VAR BYTE PastStart VAR TimeCmpFlags.0 PastStop VAR TimeCmpFlags.1 NextDay VAR TimeCmpFlags.2 ProgON VAR TimeCmpFlags.3 CheckTimes: TimeCmpFlags = 0 ; clear flags first ; if the Start and Stop times are the same, then Always OFF if (Stop_H=Start_H) AND _ (Stop_M=Start_M) AND _ (Stop_S=Start_S) then AlwaysOFF ; is it past the Start time? if (Hours>Start_H) OR _ (Hours=Start_H AND Minutes>Start_M) OR _ (Hours=Start_H AND Minutes=Start_M AND Seconds>=Start_S) then PastStart=1 ; is it past the Stop time? if (Hours>Stop_H) OR _ (Hours=Stop_H AND Minutes>Stop_M) OR _ (Hours=Stop_H AND Minutes=Stop_M AND Seconds>=Stop_S) then PastStop=1 ; does the period end the following day? if (Stop_H< Start_H) OR _ (Stop_H=Start_H AND Stop_M < Start_M) OR _ (Stop_H=Start_H AND Stop_M=Start_M AND Stop_S < Start_S) then NextDay=1 ;--------------- if !NextDay then ; same day, use AND if PastStart AND !PastStop then ProgON = 1 else ; next day, use OR IF PastStart OR !PastStop then ProgON = 1 endif AlwaysOFF: return
Last edited by Darrel Taylor; - 4th July 2008 at 01:57. Reason: Added:
DT
With any luck, this should clear it up a bit...
PBP is a COMPILER....MPASM is an ASSEMBLER.
PBP supports...PICxxxxx (see their website...way too many to list)
MPASM supports...well, basically, anything in the Microchip inventory.
The PIC32 is supported by MPASM, the assembler.
The PIC32 isn't supported by PicBasicPro, the compiler.
A program is written (source code), is compiled (by PBP) into assembly code (machine code), and assembled (by MPASM) into hex code (binary to be programmed) by the programmer (PICKIT2 for example).
once started or stopped, start looking for the next event starting with hour = then min = then second > as DT suggested earlier if then.....
same logic a human would use looking for an event
amgen
Bookmarks