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

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

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

Добавлен: 12.06.2025

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

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

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

© MCS Electronics, 1995-2007

End

ATN2

Action

ATN2 is a four-quadrant arc-tangent.

While the ATN-function returns from -p/2 (-90°) to p/2 (90°), the ATN2 function returns the whole range of a circle from -p (-180°) to +p (180°). The result depends on the ratio of Y/X and the signs of X and Y.

Syntax

var = ATN2( y, x )

Remarks

Var

A single variable that is assigned with the ATN2 of variable single.

XThe single variable with the distance in x-direction.

YThe single variable with the distance in y-direction

Quadrant

Sign Y

Sign X

ATN2

I

+

+

0 to p/2

II

+

-

p/2 to p

III

-

-

-p/2 to -p

IV

-

+

0 to –p/2

If you go with the ratio Y/X into ATN you will get same result for X greater zero (right side in coordinate system) as with ATN2. ATN2 uses X and Y and can give information of the angle of the point over 360° in the coordinates system.

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

See Also

RAD2DEG , DEG2RAD , COS , SIN , TAN , ATN

page -277-

© MCS Electronics, 1995-2007

Example

' specify the used

$regfile = "m48def.dat"

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

X = 0.5 : S = 1.1

S = Atn2(s , X)

Print S ' prints 1.144164676

End

BASE64DEC

Action

Converts Base-64 data into the original data.

Syntax

Result = BASE64DEC( source)

Remarks

Result

A string variable that is assigned with the un-coded string.

Source

The source string that is coded with base-64.

Base-64 is not an encryption protocol. It sends data in 7-bit ASCII data format. MIME, web servers, and other Internet servers and clients use Base-64 coding.

The provided Base64Dec() function is a decoding function. It was written to add authentication to the web server sample.

When the web server asks for authentication, the client will send the user and password unencrypted, but base-64 coded to the web server.

Base-64 coded strings are always in pairs of 4 bytes. These 4 bytes represent 3 bytes.

See also

CONFIG TCPIP, GETSOCKET , SOCKETCONNECT, SOCKETSTAT , TCPWRITE, TCPWRITESTR, CLOSESOCKET , SOCKETLISTEN , BASE64ENC

Example

$regfile = "m48def.dat"

' specify the used

micro

page -278-


© MCS Electronics, 1995-2007

$crystal = 8000000

' used crystal

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

$lib "tcpip.lbx"

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

= 8 , Clockpol = 0

Dim S As String * 15 , Z As String * 15

S = "bWFyazptYXJr"

Z = Base64dec(s)

'mark:mark

Print Z

End

BASE64ENC

Action

Converts a string into the Base-64 representation.

Syntax

Result = BASE64ENC( source)

Remarks

Result

A string variable that is assigned with the coded string.

Source

The source string that must be code with base-64.

Base-64 is not an encryption protocol. It sends data in 7-bit ASCII data format. MIME, web servers, and other Internet servers and clients use Base-64 coding.

The provided Base64Enc() function is an encoding function. You need it when you want to send attachments with POP3 for example.

The target string will use 1 additional byte for every 3 bytes.

So make sure the target string is dimensioned longer then the original string.

See also

CONFIG TCPIP, GETSOCKET , SOCKETCONNECT, SOCKETSTAT , TCPWRITE, TCPWRITESTR, CLOSESOCKET , SOCKETLISTEN , BASE64DEC

Example

$regfile = "m48def.dat"

' specify the used

micro

' used crystal

$crystal = 8000000

frequency

' use baud rate

$baud = 19200

page -279-


© MCS Electronics, 1995-2007

$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

$lib "tcpip.lbx"

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

Dim S As String * 15 , Z As String * 15

S = "bWFyazptYXJr"

Z = Base64dec(s)

Print Z 'mark:mark

s = Base64Enc(z)

Print s

End

BAUD

Action

Changes the baud rate for the hardware UART.

Syntax

BAUD = var

BAUD #x , const

Remarks

Var

The baud rate that you want to use.

X

The channel number of the software UART.

Const

A numeric constant for the baud rate that you want to use.

Do not confuse the BAUD statement with the $BAUD compiler directive.

And do not confuse $CRYSTAL and CRYSTAL

$BAUD overrides the compiler setting for the baud rate and BAUD will change the current baud rate.

So $BAUD is a global project setting in your source code while BAUD will change the baud rate during run time.

You could use BAUD to change the baud rate during run time after the user changes a setting.

BAUD = ... will work on the hardware UART.

BAUD #x, yyyy will work on the software UART.

See also

page -280-


© MCS Electronics, 1995-2007

$CRYSTAL , $BAUD , BAUD1

ASM

NONE

Example

$regfile = "m48def.dat" $crystal = 4000000 $baud = 19200

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

Print "Hello"

'Now change the baud rate in a program Baud = 9600

Print "Did you change the terminal emulator baud rate too?"

End

BAUD1

Action

Changes the baud rate for the second hardware UART.

Syntax

BAUD1 = var

BAUD1 #x , const

Remarks

Var

The baud rate that you want to use.

X

The channel number of the software UART.

Const

A numeric constant for the baud rate that you want to use.

Do not confuse the BAUD1 statement with the $BAUD1 compiler directive.

And do not confuse $CRYSTAL and CRYSTAL

$BAUD1 overrides the compiler setting for the baud rate and BAUD1 will change the current baud rate.

BAUD1 = ... will work on the hardware UART. BAUD #x, yyyy will work on the software UART.

See also

$CRYSTAL , $BAUD , $BAUD1 , BAUD

ASM

page -281-

© MCS Electronics, 1995-2007

NONE

Example

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

--

: (c) 1995-2005, MCS Electronics

'copyright

'micro

: Mega162

'suited for demo

: yes

'commercial addon needed

: no

'purpose

: demonstrates BAUD1 directive and BAUD1 statement

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

--

$regfile = "M162def.dat" $baud1 = 2400

$crystal= 14000000 ' 14 MHz crystal

Open "COM2:" For BINARY As #1

Print #1 , "Hello"

'Now change the baud rate in a program

Baud1 = 9600 ' Print #1 , "Did you change the terminal emulator baud rate too?"

Close #1

End

BCD

Action

Converts a variable stored in BCD format into a string.

Syntax

PRINT BCD( var )

LCD BCD( var)

Remarks

Var Numeric variable to convert.

When you want to use an I2C clock device which stores its values in BCD format you can use this function to print the value correctly.

BCD() displays values with a leading zero.

The BCD() function is intended for the PRINT/LCD statements.

Use the MAKEBCD function to convert variables from decimal to BCD.

Use the MAKEDEC function to convert variables from BCD to decimal.

See also

MAKEDEC , MAKEBCD

ASM

page -282-