Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BASCOM AVR, help reference (2007).PDF
Скачиваний:
305
Добавлен:
12.08.2013
Размер:
17.02 Mб
Скачать

© MCS Electronics, 1995-2007

See also

$CRYSTAL

Example

CONFIG CLOCKDIV = 8 'we divide 8 Mhz crystal clock by 8 resulting in 1 Mhz speed

CONFIG COM1

Action

Configures the UART of AVR chips that have an extended UART like the M8.

Syntax

CONFIG COM1 = baud , synchrone=0|1,parity=none|disabled|even|odd,stopbits=1|2,databits=4|6|7|8|9,clockpol=0 |1

Remarks

baud

Baud rate to use. Use 'dummy' to leave the baud rate at the $baud

 

value.

synchrone

0 for asynchrone operation (default) and 1 for synchrone operation.

Parity

None, disabled, even or odd

Stopbits

The number of stopbits : 1 or 2

Databits

The number of databits : 4,5,7,8 or 9.

Clockpol

Clock polarity. 0 or 1.

 

 

Note that not all AVR chips have the extended UART. Most AVR chips have a UART with fixed communication parameters. These are : No parity, 1 stopbit, 8 data bits.

Normally you set the BAUD rate with $BAUD or at run time with BAUD. You may also set the baud rate when you open the COM channel. It is intended for the Mega2560 that has 4 UARTS and it is simpler to specify the baud rate when you open the channel. It may also be used with the first and second UART but it will generate additional code since using the first UART will always result in generating BAUD rate init code.

See Also

CONFIG COM2 , CONFIG COMx

Example

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

 

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

:

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: test for M128 support in M128 mode

'micro

: Mega128

'suited for demo

: yes

 

page -325-

 

© MCS Electronics, 1995-2007

'commercial addon needed

: no

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

 

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

 

$regfile = "m128def.dat"

' specify the used

micro

' used crystal

$crystal = 4000000

frequency

' use baud rate

$baud = 19200

$baud1 = 19200

' default use 32

$hwstack = 32

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

 

'By default the M128 has the M103 compatibility fuse set. Set the fuse to M128 'It also runs on a 1 MHz internal oscillator by default

'Set the internal osc to 4 MHz for this example DCBA=1100

'use the m128def.dat file when you wanto to use the M128 in M128 mode 'The M128 mode will use memory from $60-$9F for the extended registers

'Since some ports are located in extended registers it means that some statements

'will not work on these ports. Especially statements that will set or reset a bit

'in a register. You can set any bit yourself with the PORTF.1=1 statement for example

'But the I2C routines use ASM instructions to set the bit of a port. These ASM instructions may

'only be used on port registers. PORTF and PORTG will not work with I2C.

'The M128 has an extended UART.

'when CONFIG COMx is not used, the default N,8,1 will be used

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

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

'try the second hardware UART

Open "com2:" For Binary As #1

'try to access an extended register

Config Portf = Output

'Config Portf = Input

Print "Hello"

Dim B As Byte

Do

Input "test serial port 0" , B

Print B

Print #1 , "test serial port 2"

Loop

Close #1

End

page -326-

© MCS Electronics, 1995-2007

CONFIG COM2

Action

Configures the UART of AVR chips that have a second extended UART like the M128.

Syntax

CONFIG COM2 = baud , synchrone=0|1,parity=none|disabled|even|odd,stopbits=1|2,databits=4|6|7|8|9,clockpol=0 |1

Remarks

baud

Baud rate to use. Use 'dummy' to leave the baud rate at the $baud1

 

value.

synchrone

0 for asynchrone operation (default) and 1 for synchrone operation.

Parity

None, disabled, even or odd

Stopbits

The number of stopbits : 1 or 2

Databits

The number of databits : 4,5,7,8 or 9.

Clockpol

Clock polarity. 0 or 1.

 

 

Normally you set the BAUD rate with $BAUD or at run time with BAUD. You may also set the baud rate when you open the COM channel. It is intended for the Mega2560 that has 4 UARTS and it is simpler to specify the baud rate when you open the channel. It may also be used with the first and second UART but it will generate additional code since using the first or second UART will always result in generating BAUD rate init code.

Note that not all AVR chips have the extended UART. Most AVR chips have a UART with fixed communication parameters. They are : No parity, 1 stopbit, 8 data bits.

See Also

CONFIG COM1 , CONFIG COMx

Example

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

 

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

:

'name

'copyright

: (c) 1995-2005, MCS Electronics

'purpose

: test for M128 support in M128 mode

'micro

: Mega128

'suited for demo

: yes

'commercial addon needed

: no

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

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

$regfile = "m128def.dat"

' specify the used

micro

' used crystal

$crystal = 4000000

frequency

' use baud rate

$baud = 19200

$baud1 = 19200

' default use 32

$hwstack = 32

page -327-

 

© MCS Electronics, 1995-2007

for the hardware stack

' default use 10

$swstack = 10

for the SW stack

' default use 40

$framesize = 40

for the frame space

 

'By default the M128 has the M103 compatibility fuse set. Set the fuse to M128 'It also runs on a 1 MHz internal oscillator by default

'Set the internal osc to 4 MHz for this example DCBA=1100

'use the m128def.dat file when you wanto to use the M128 in M128 mode 'The M128 mode will use memory from $60-$9F for the extended registers

'Since some ports are located in extended registers it means that some statements

'will not work on these ports. Especially statements that will set or reset a bit

'in a register. You can set any bit yourself with the PORTF.1=1 statement for example

'But the I2C routines use ASM instructions to set the bit of a port. These ASM instructions may

'only be used on port registers. PORTF and PORTG will not work with I2C.

'The M128 has an extended UART.

'when CONFIG COMx is not used, the default N,8,1 will be used

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

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

'try the second hardware UART

Open "com2:" For Binary As #1

'try to access an extended register

Config Portf = Output

'Config Portf = Input

Print "Hello"

Dim B As Byte

Do

Input "test serial port 0" , B

Print B

Print #1 , "test serial port 2"

Loop

Close #1

End

CONFIG COMx

Action

Configures the UART of AVR chips that have an extended UART like the M2560.

Syntax

CONFIG COMx = baud , synchrone=0|1,parity=none|disabled|even|odd,stopbits=1|2,databits=4|6|7|8|9,clockpol=0

page -328-

© MCS Electronics, 1995-2007

|1

Remarks

COMx

The COM port to configure. Value in range from1-4

baud

Baud rate to use.

synchrone

0 for asynchrone operation (default) and 1 for synchrone operation.

Parity

None, disabled, even or odd

Stopbits

The number of stopbits : 1 or 2

Databits

The number of databits : 4,5,7,8 or 9.

Clockpol

Clock polarity. 0 or 1.

 

 

Note that not all AVR chips have the extended UART. Most AVR chips have a UART with fixed communication parameters. These are : No parity, 1 stopbit, 8 data bits.

The Mega2560 does support 4 UART's.

See Also

CONFIG COM1 , CONFIG COM2

Example

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

'name

:

 

'copyright

: (c) 1995-2007, MCS Electronics

'purpose

: test for M2560 support

'micro

: Mega2560

'suited for demo

: yes

: no

'commercial addon needed

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

 

 

$regfile= "m2560def.dat"

' specify the used micro

$crystal= 8000000

 

' used crystal frequency

$hwstack= 40

 

' default use 32 for the hardware stack

$swstack= 40

 

' default use 10 for the SW stack

$framesize = 40

 

' default use 40 for the frame space

'The M128 has an extended UART.

'when CO'NFIG COMx is not used, the default N,8,1 will be used

Config Com1 = 19200 , Synchrone = 0,Parity= None ,Stopbits = 1,Databits = 8,Clockpol = 0 Config Com2 = 19200 , Synchrone = 0,Parity= None ,Stopbits = 1,Databits = 8,Clockpol = 0 Config Com3 = 19200 , Synchrone = 0,Parity= None ,Stopbits = 1,Databits = 8,Clockpol = 0 Config Com4 = 19200 , Synchrone = 0,Parity= None ,Stopbits = 1,Databits = 8,Clockpol = 0

'Open all UARTS

Open "com2:"For Binary As #1 Open "Com3:"For Binary As #2 Open "Com4:"For Binary As #3

Print"Hello"

'firstuart

Dim B As Byte

 

Dim TelAs Word

 

page -329-