Покажите алгоритм программирования COM-портов РС-совместимых контроллеров с использованием встроенных библиотек Advantech.



Микроконтроллер ADAM5510М имеет в своем составе четыре последовательных коммуникационных порта, которые обеспечивают возможность организации взаимодействия практически с любыми устройствами с последовательным доступом.

Порт СОМ1 поддерживает работу в режиме интерфейса RS232, а порт СОМ2поддерживает работу в режиме интерфейса RS485.

СОМ4 – порт с переключаемыми интерфейсами RS232/485.

Порт СОМ3 предназначен для осуществления загрузки в микроконтроллер управляющих программ. Кроме того, он может быть использован и как коммуникационный порт общего назначения с интерфейсом RS232.

Алгоритм программирования COM-портов

1.Выполнить инициализацию регистров.

2.Определить для конкретного COM-порта параметры информационной посылки:

3.Установить значение скорости передачи данных

4. Организовать передачу данных.ПО работает с данными, представленными в параллельном коде, а передача информации через СОМ-порт осуществляется в последовательном коде. необходимо:

4.1. Записать байт данных в буфер передатчика.

4.2. Организовать передачу информации, находящиеся в буфере передатчика уже в виде последовательного кода. Реально передача данных на контакте TX произойдет тогда, когда будет инициировано прерывание на передачу.

Организовать прием данных.

Переданные в последовательном коде данные записываются в буфер приемника и накапливаются там до тех пор, пока не поступит сигнал о приходе последнего бита данных. После чего информация, но уже в виде данных в параллельном коде может использоваться приемником (например, станет значением некоторой переменной).

6.Перед обменом следующего пакета данных буфер приемника и передатчика должны быть очищены.

Функции Advantech для работы с COM-портами контроллера

1. Функция установки коммуникационного драйвера. com_install( )

2. Функции инициализации регистров com_485_install ()

3. Функции установки формата передаваемых данных (количество бит данных, наличие бита четности, количество стоповых бит. com_set_format( )  

4. Функции устанавливают значения скорости передачи com_set_ speed( ) 

5. Функции получения очередного символа из буфера приема СОМ1(RS-232) com_ rx( )

6. Функции передачи данных. com_ tx( )

7. Функции передачи последовательности символов. com_ tx_string( )

8 com_flush_rx( ), Функции очистки буфера приема и буфера передачи СОМ1,

Фрагмент программного кода

{

status=com_install(1); /*выполняется инсталляция порта (установка КД) */

com_set_format(8,0,1); /*установка параметров информационной посылки */

com_set_speed(speed); /*установка скорости передачи данных*/

/* организация передачи данных через COM-порт(Tx(PLC) к Rx (ПК)) PLC -----PC */

com_tx_string(“ com232 test “);/* передача последовательности символов

ch=getch();/* чтение строки данных и размещение их в переменной ch

}

Разработать исходный код процедуры для обработки сигнала от одиночного дискретного датчика для контроллера PIC 16C52

Работа схемы: при замыкании Кл1 на контакте RB1 появляется логический “0”, при этом контроллер формирует уровень логической “1”на выходе RA0, вызывая зажигание светодиода, при размыкании Кл1, за счет подключения RB1 через R1 к источнику питания на RB1 появляется логическая “1”, светодиод при этом должен погаснуть (RA0=”0”).

Scan   ; метка начала опроса (сканирования) кнопки RB1 для определения, не нажата ли она

btfsc PortB,1 ; если она замкнута (т.е. на RB1 подается “0”), то пропустить следующую команду и перейти к метке Fire, подпрограмме зажигающей светодиод

goto NotFire ; переход к метке NotFire, подпрограмме тушения светодиода, если RB1 не замкнута

goto Fire ; переход к метке Fire, подпрограмме зажигания светодиода, если RB1 замкнута

NotFire ;метка начала подпрограммы тушения светодиода

bcf PortA,0 ; установить “0” на выходе RA0, светодиод погаснет

goto Scan ; переход к метке Scan для продолжения сканирования кнопки на RB1

Fire ; метка начала подпрограммы зажигания светодиода

bsf PortA,0 ; установить “1” на выходе RA0, при этом светодиод загорится

goto Scan ; переход к метке Scan для продолжения сканирования кнопки на RB1

Билет 40


Дата добавления: 2018-04-15; просмотров: 277; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!