ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 12.06.2025

Просмотров: 8342

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

© MCS Electronics, 1995-2007

be used for event distances larger than 24 hours.

See also

Date and Time Routines , SECELAPSED, SYSSEC

Example

Enable Interrupts

Config Clock = Soft

Dim Lsystemtimestamp As Long

Dim Lsystemsecondselapsed As Long

Lsystemtimestamp = Syssec()

Print "Now it's " ; Lsystemtimestamp ; " seconds past 2000-01-01 00:00:00"

'do other stuff

'some time later

Lsystemsecondselapsed = Syssecelapsed(lsystemtimestamp) Print "Now it's " ; Lsystemsecondselapsed ; " seconds later"

SYSDAY

Action

Returns a number, which represents the System Day

Syntax

Target = SysDay()

Target = SysDay(bDayMonthYear)

Target = SysDay(strDate)

Target = SysDay(lSysSec)

Remarks

Target

A Variable (LONG), that is assigned with the System-Day

bDayMonthDay A Byte, which holds the Day-value followed by Month(Byte) and Year

(Byte)

strDate

A String, which holds a Date-String in the format specified in the

CONFIG DATA statement

lSysSec

A variable, which holds a System Second (SysSec)

The Function can be used with 4 different kind of inputs:

1.Without any parameter. The internal Date-values of SOFTCLOCK (_day, _month, _year) are used.

2.With a user defined date array. It must be arranged in same way (Day, Month, Year) as the internal SOFTCLOCK date. The first Byte (Day) is the input by this kind of usage. So the Day of the Year can be calculated of every date.

3.With a Date-String. The date-string must be in the Format specified in the Config Date Statement.

page -684-


©MCS Electronics, 1995-2007

4.With a System Second Number (LONG)

The Return-Value is in the Range of 0 to 36524. 2000-01-01 starts with 0. The Function is valid in the 21th century (from 2000-01-01 to 2099-12-31).

See also

Date and Time Routines , Config Date , Config Clock , SysSec

Example

Enable Interrupts

Config Clock = Soft

Config Date = YMD , Separator =.' ANSI-Format

Dim Strdate As String * 8

Dim Bday Asbyte , Bmonth As Byte , Byear As Byte

Dim Wsysday As Word

Dim Lsyssec As Long

' Example 1 with internal RTC-Clock

_day = 20 : _Month = 11 : _Year = 2 ' Load RTC-Clock for example - testing Wsysday = Sysday()

Print "System Day of " ; Date$ ; " is " ; Wsysday

'System Day of 02.11.20 is 1054

'Example 2 with defined Clock - Bytes (Day / Month / Year) Bday = 24 : Bmonth = 5 : Byear = 8

Wsysday = Sysday(bday)

Print "System Day of Day=" ; Bday ; " Month=" ; Bmonth ; " Year=" ; Byear ; " is " ; Wsysday

'System Day of Day=24 Month=5 Year=8 is 3066

'Example 3 with Date - String

Strdate = "04.10.29"

Wsysday = Sysday(strdate)

Print "System Day of " ; Strdate ; " is " ; Wsysday

'System Day of 04.10.29 is 1763

'Example 4 with System Second Lsyssec = 123456789

Wsysday = Sysday(lsyssec)

Print "System Day of System Second " ; Lsyssec ; " is " ; Wsysday

'System Day of System Second 123456789 is 1428"Now it's " ; Lsystemsecondselapsed ; " seconds later"

SWAP

Action

Exchange two variables of the same type.

page -685-


© MCS Electronics, 1995-2007

Syntax

SWAP var1, var2

Remarks

var1

A variable of type bit, byte, integer, word, long or string.

var2

A variable of the same type as var1.

After the swap, var1 will hold the value of var2 and var2 will hold the value of var1.

Example

'-----------------------------------------------------------------------------

------------

: swap.bas

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: demo: SWAP

'micro

: Mega48

'suited for demo

: yes

'commercial addon needed

: no

'-----------------------------------------------------------------------------

------------

$regfile = "m48def.dat"

' specify the used

micro

' used crystal

$crystal = 4000000

frequency

' use baud rate

$baud = 19200

$hwstack = 32

' default use 32

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

Dim A As Byte , B1 As Byte

Dim Bbit1 As Bit , Bbit2 As Bit

Dim S1 As String * 10 , S2 As String * 10

S1 = "AAA" : S2 = "BBB"

Swap S1 , S2

A = 5 : B1 = 10

'assign some vars

Print A ; "

" ; B1

'print them

Swap A , B1

" ; B1

'swap them

Print A ; "

'print is again

Set Bbit1

Swap Bbit1 , Bbit2

Print Bbit1 ; Bbit2

End

TAN

Action

page -686-


© MCS Electronics, 1995-2007

Returns the tangent of a float

Syntax

var = TAN( source )

Remarks

Var

A numeric variable that is assigned with tangent of variable source.

Source

The single or double variable to get the tangent of.

All trig functions work with radians. Use deg2rad and rad2deg to convert between radians and angles.

See Also

RAD2DEG , DEG2RAD , ATN , COS , SIN , ATN2

Example

$regfile = "m48def.dat"

' specify the used

micro

' used crystal

$crystal = 8000000

frequency

' use baud rate

$baud = 19200

$hwstack = 32

' default use 32

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits

= 8 , Clockpol = 0

Dim S As Single , X As Single

' prints

S = 0.5 : X = Tan(s) : Print X

0.546302195

' prints

S = 0.5 : X = Sin(s) : Print X

0.479419108

' prints

S = 0.5 : X = Cos(s) : Print X

0.877588389

End

TCPCHECKSUM

Action

Return a TCP/IP checksum

Syntax

res= TCPCHECKSUM(buffer , bytes)

Remarks

Res

A word variable that is assigned with the TCP/IP checksumof the buffer

page -687-