Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 03.12.2016, 11:40   #1
седьмой
Форумчанин
 
Регистрация: 17.07.2012
Адрес: Киров
Сообщений: 140
Репутация: 10
По умолчанию Что надо записать в регистры UART для передачи данных через сом порт?

Настраиваю регистры для передачи данных и не понял, что нужно записывать в регистр IER (база+1) , по идее в него нужно записать 02h (разрешить прерывание на передачу, когда регистр передачи пустой), но данные не передаются. На всякий случай выложу все настройки регистров
может подскажете где ошибка?
база +3 , 0x80 dlab
база +1, 0x00
база +0,0x0C 9600 бод
база +0, 0x03 8bit,1stop bit....
база +, 0x02 уст.разрешения прерывания на передачу
база +2, 0xC7 включение FIFO, очистка буферов
база +4, 0x0b out2,dtr,rts

в результате при передаче данных в регистре база+2 IIR находится код 0xC1 в котором указано, что фифо буфер включен , а прерывания нет
и в регистре база+5 MSR 0x60 сдвиговый регистр передатчика пуст и регистр защелка передатчика тоже пуст.

Последний раз редактировалось седьмой; 03.12.2016 в 11:41. Причина: операционка ms-dos, но это не принципиально наверно, можно на чистом си , можно под с++
седьмой вне форума   Ответить с цитированием
Старый 03.12.2016, 12:47   #2
Pavia
Лис
Профессионал
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 1,952
Репутация: 2059
По умолчанию

Цитата:
Настраиваю регистры для передачи данных и не понял, что нужно записывать в регистр IER (база+1) , по идее в него нужно записать 02h (разрешить прерывание на передачу, когда регистр передачи пустой), но данные не передаются.
Вы можете работать через прерывания так и без.

Цитата:
база+5 MSR
MSR это +6

Цитата:
база +0,0x0C 9600 бод
база +0, 0x03 8bit,1stop bit....
??? dlab не выключен пишем не в тот регистр.

Обработчик прерывания свой повесели?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума   Ответить с цитированием
Старый 13.06.2017, 14:25   #3
седьмой
Форумчанин
 
Регистрация: 17.07.2012
Адрес: Киров
Сообщений: 140
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
Вы можете работать через прерывания так и без.
Спасибо, не заметил во время ваш ответ, но проверю старый код, интересно посмотреть где была ошибка и в чем.
седьмой вне форума   Ответить с цитированием
Старый 23.06.2017, 16:26   #4
седьмой
Форумчанин
 
Регистрация: 17.07.2012
Адрес: Киров
Сообщений: 140
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
??? dlab не выключен пишем не в тот регистр.
это была описка при копировании, вот так на самом деле
Код:
база +3, 0x03 8bit,1stop bit....
dlab выключен
Цитата:
Бит 7. DLAB(Divisor Latch Access Bit)- Этот бит доступа к делителю частоты. Если DLAB=1, то можно обратиться к регистрам DIM, DLL в которых хранятся младший и старший байт делителя частоты :16.Если DLAB=0, то можно обратиться к регистрам THR,RBR,IER.
dlab выключается нулем в крайнем левом бите, так что в реальном коде было все верно

Цитата:
MSR это +6
да вы правы тоже ошибся

Последний раз редактировалось седьмой; 23.06.2017 в 16:30.
седьмой вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа для сканирования и посылки данных в СОМ порт HDiW Помощь студентам 10 18.03.2014 20:58
Шлагбаум через СОМ портом очень надо MACTAK Помощь студентам 1 13.12.2012 22:10
Приём данных через СОМ порт Серж_ Общие вопросы C/C++ 0 13.06.2010 01:25
Отправка данных в СОМ порт из под VBA Excel Abhcn Microsoft Office Excel 3 04.03.2009 00:56


07:51.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.