Работа с UART (ASM) » History » Version 12
Version 11 (krufter_multiclet, 04/16/2013 01:48 PM) → Version 12/27 (krufter_multiclet, 04/16/2013 02:09 PM)
h1. Работа с UART (ASM)
Рассмотрим передачу и приём сообщений посредством интерфейса UART подробнее(на ассемблере).
В приведённых ниже примерах кода используется список констант, который необходимо подключить директивой " .include "
<pre>
.include "HDL50001_pcf.inc"
</pre>
h2. а) Передача по UART
h3. 1. Разрешаем алтернативные функции порта.
В настоящее время выпущены две отладочные платы, в которых задействованы UART0(HW1-MCp04) и UART3(LDM-MCp04).
Рассмотрим команды ассемблера для разрешения алтернативных функций порта.
Для UART0:
<pre>
getl 0x00000F00
wrl @1, GPIOB_BPS
</pre>
Для UART3:
<pre>
getl 0x00000F00
wrl @1, GPIOD_BPS
</pre>
h3. 2. Настраиваем UART на передачу, устанавливаем скорость работы.
Для настройки UART на передачу запишем следующее значение в регистр управления:
Для UART0:
<pre>
getl 0x00000002
wrl @1, UART0_CR
</pre>
Для UART3:
<pre>
getl 0x00000002
wrl @1, UART3_CR
</pre>
Для установки скорости используется коэффициент деления BRDIV = Fsys/(8*Fuart - 1)
Для скорости 38400 кбит/с:
Для UART0:
<pre>
getl 0x00000104
wrl @1, UART0_BDR
</pre>
Для UART3:
<pre>
getl 0x00000104
wrl @1, UART3_BDR
</pre>
Рассмотрим передачу и приём сообщений посредством интерфейса UART подробнее(на ассемблере).
В приведённых ниже примерах кода используется список констант, который необходимо подключить директивой " .include "
<pre>
.include "HDL50001_pcf.inc"
</pre>
h2. а) Передача по UART
h3. 1. Разрешаем алтернативные функции порта.
В настоящее время выпущены две отладочные платы, в которых задействованы UART0(HW1-MCp04) и UART3(LDM-MCp04).
Рассмотрим команды ассемблера для разрешения алтернативных функций порта.
Для UART0:
<pre>
getl 0x00000F00
wrl @1, GPIOB_BPS
</pre>
Для UART3:
<pre>
getl 0x00000F00
wrl @1, GPIOD_BPS
</pre>
h3. 2. Настраиваем UART на передачу, устанавливаем скорость работы.
Для настройки UART на передачу запишем следующее значение в регистр управления:
Для UART0:
<pre>
getl 0x00000002
wrl @1, UART0_CR
</pre>
Для UART3:
<pre>
getl 0x00000002
wrl @1, UART3_CR
</pre>
Для установки скорости используется коэффициент деления BRDIV = Fsys/(8*Fuart - 1)
Для скорости 38400 кбит/с:
Для UART0:
<pre>
getl 0x00000104
wrl @1, UART0_BDR
</pre>
Для UART3:
<pre>
getl 0x00000104
wrl @1, UART3_BDR
</pre>