Project

General

Profile

Работа с UART (ASM) » History » Version 12

« Previous - Version 12/27 (diff) - Next » - Current version
krufter_multiclet, 04/16/2013 02:09 PM


Работа с UART (ASM)

Рассмотрим передачу и приём сообщений посредством интерфейса UART подробнее(на ассемблере).
В приведённых ниже примерах кода используется список констант, который необходимо подключить директивой " .include "

.include "HDL50001_pcf.inc" 

а) Передача по UART

1. Разрешаем алтернативные функции порта.

В настоящее время выпущены две отладочные платы, в которых задействованы UART0 и UART3.
Рассмотрим команды ассемблера для разрешения алтернативных функций порта.
Для UART0:

getl 0x00000F00
wrl @1, GPIOB_BPS

Для UART3:

getl 0x00000F00
wrl @1, GPIOD_BPS

2. Настраиваем UART на передачу, устанавливаем скорость работы.

Для настройки UART на передачу запишем следующее значение в регистр управления:
Для UART0:

getl 0x00000002
wrl @1, UART0_CR

Для UART3:

getl 0x00000002
wrl @1, UART3_CR

Для установки скорости используется коэффициент деления BRDIV = Fsys/(8*Fuart - 1)
Для скорости 38400 кбит/с:

Для UART0:

 getl 0x00000104
 wrl @1, UART0_BDR

Для UART3:

 getl 0x00000104
 wrl @1, UART3_BDR