Мост UART-UDP — различия между версиями
EdGull (обсуждение | вклад) (Новая: '''Мост UART-UDP''') |
Malvin (обсуждение | вклад) |
||
Строка 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
- 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".