Мост UART-UDP — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Новая: '''Мост UART-UDP''')
 
Строка 1: Строка 1:
 
'''Мост UART-UDP'''
 
'''Мост UART-UDP'''
 +
 +
Здесь рассмотрен проект на BASCOM-AVR ethernet контроллера на чипе RTL8039 и микроконтроллере AVR Atmega32. Все инструкции приведены в пошаговом режиме, от простого к сложному.
 +
 +
Все исходные коды примеров могут быть откомпилированы в BASCOM-AVR.
 +
 +
Используется внешний кварцевый резонатор.
 +
 +
 +
Шаг 1.
 +
 +
В Atmega32 есть несколько FUSE-битов, которые требуется правильно установить:
 +
 +
<source lang="vb">
 +
' Fusebits:
 +
' A987:1111 = Crystal/Boden enabled
 +
' H: 1 = JTAG disabled
 +
' G: 0 = Preserve EEprom when chip erase
 +
</source>
 +
 +
В Bascom-AVR в свойствах проекта на вкладке Compiller задать Hardware stack, Soft stack и Framesize по 64 байта.
 +
 +
====Рисунок 1.====
 +
 +
<source lang="vb">
 +
' Hardware:
 +
'
 +
' PA0 - SD0 - Databus
 +
' PA1 - SD1
 +
' PA2 - SD2
 +
' PA3 - SD3
 +
' PA4 - SD4
 +
' PA5 - SD5
 +
' PA6 - SD6
 +
' PA7 - SD7
 +
 +
' PB0 - SA0 - Addressbus
 +
' PB1 - SA1
 +
' PB2 - SA2
 +
' PB3 - SA3
 +
' PB4 - SA4
 +
' PB5 - MOSI
 +
' PB6 - MISO
 +
' PB7 - SCK
 +
 +
' PC0 - I2c SLC
 +
' PC1 - I2c SDA
 +
' PC2 - PC2
 +
' PC3 - PC3
 +
' PC4 - PC4
 +
' PC5 - PC5
 +
' PC6 - PC6
 +
' PC7 - PC7
 +
 +
' PD0 - RXD
 +
' PD1 - TXD
 +
' PD2 - INT0
 +
' PD3 - LE - Latch Enable
 +
' PD4 - RSTDRV
 +
' PD5 - EEDO
 +
' PD6 - IORB
 +
' PD7 - IOWB
 +
 +
$crystal = 7372800
 +
$regfile = "M32def.dat"
 +
$baud = 57600
 +
 +
const debug = 1
 +
 +
#if debug = 1
 +
print "Hello world"
 +
#endif
 +
 +
end
 +
</source>
 +
 +
$crystal - частота кварца, задается для получения требуемых задержек в циклах.В данном проекте использован кварц на 7.372.800 МГц.
 +
 +
$regfile - включение описания контроллера в программу.
 +
 +
$baud - частота UART
 +
 +
Директивы #if debug = 1 ... #endif служат для отладки проекта и при значении debug=1 включают секцию кода между ними.
 +
 +
Скомпилируйте программу и запрограммируйте чип. Подключив чип к COM порту компьютера (57600 бод, 8 бит, нет контроля четности), видим в программе Hyper Terminal "Hello world".

Версия 11:22, 2 июля 2008

Мост UART-UDP

Здесь рассмотрен проект на BASCOM-AVR ethernet контроллера на чипе RTL8039 и микроконтроллере AVR Atmega32. Все инструкции приведены в пошаговом режиме, от простого к сложному.

Все исходные коды примеров могут быть откомпилированы в BASCOM-AVR.

Используется внешний кварцевый резонатор.


Шаг 1.

В Atmega32 есть несколько FUSE-битов, которые требуется правильно установить:

<source lang="vb"> ' Fusebits: ' A987:1111 = Crystal/Boden enabled ' H: 1 = JTAG disabled ' G: 0 = Preserve EEprom when chip erase </source>

В Bascom-AVR в свойствах проекта на вкладке Compiller задать Hardware stack, Soft stack и Framesize по 64 байта.

Рисунок 1.

<source lang="vb"> ' Hardware: ' ' PA0 - SD0 - Databus ' PA1 - SD1 ' PA2 - SD2 ' PA3 - SD3 ' PA4 - SD4 ' PA5 - SD5 ' PA6 - SD6 ' PA7 - SD7

' PB0 - SA0 - Addressbus ' PB1 - SA1 ' PB2 - SA2 ' PB3 - SA3 ' PB4 - SA4 ' PB5 - MOSI ' PB6 - MISO ' PB7 - SCK

' PC0 - I2c SLC ' PC1 - I2c SDA ' PC2 - PC2 ' PC3 - PC3 ' PC4 - PC4 ' PC5 - PC5 ' PC6 - PC6 ' PC7 - PC7

' PD0 - RXD ' PD1 - TXD ' PD2 - INT0 ' PD3 - LE - Latch Enable ' PD4 - RSTDRV ' PD5 - EEDO ' PD6 - IORB ' PD7 - IOWB

$crystal = 7372800 $regfile = "M32def.dat" $baud = 57600

const debug = 1

  1. if debug = 1

print "Hello world"

  1. endif

end </source>

$crystal - частота кварца, задается для получения требуемых задержек в циклах.В данном проекте использован кварц на 7.372.800 МГц.

$regfile - включение описания контроллера в программу.

$baud - частота UART

Директивы #if debug = 1 ... #endif служат для отладки проекта и при значении debug=1 включают секцию кода между ними.

Скомпилируйте программу и запрограммируйте чип. Подключив чип к COM порту компьютера (57600 бод, 8 бит, нет контроля четности), видим в программе Hyper Terminal "Hello world".