Покажите алгоритм программирования 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!