Модераторы: PILOT, ManiaK, Mazzi

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Присоеденить железо к компу, Изучение основ. С чего начинать? 
V
    Опции темы
new_web
Дата 21.2.2008, 10:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Цитата(xvr @  21.2.2008,  09:03 Найти цитируемый пост)
Поставить 5 бит control в 1. После этого запись в Data будет игнорироваться, а читаться будет то, что приходит в LPT порт снаружи (порт будет переведен на ввод)


Как оно должно придти снаружи?

По идее, если я подам 5 Вольт на любой регистр Data, при включённым режиме ввода, если там 0, то там должна случиться еденица, и читаться еденица в этом регистре? Если там 1, то надо подать ноль? Так? Я правильно считаю?

Пробовал, ставил, и не раз! Что надо подать в Data?
Я пробовал "+" от Status, пробовал "+" от Control,   пробовал "+" от другого регистра Data даже!
Ничего в Data не меняется. 
Пробовал на заведомо  trueрегисты Data подавать ноль - соединял с землёй - тоже никакого эффекта.

Может. просто надо взять отдельные 5 вольт - логическая 1 - с отдельного источника, с батарейки?
Хотя. какая тут разница, ведь, если 1 пришёл, то неважно, откуда он пришёл...или порт так устроен, что нельзя с одного вывода одного порта подавать напряжение на другие?

Думая. что в программе остались баги, пробовал в консоли smile 
безрезультатно!

Может, в самих биллиотеках winio  замут?

PM MAIL   Вверх
xvr
Дата 21.2.2008, 11:41 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(new_web @ 21.2.2008,  10:29)
Цитата(xvr @  21.2.2008,  09:03 Найти цитируемый пост)
Поставить 5 бит control в 1. После этого запись в Data будет игнорироваться, а читаться будет то, что приходит в LPT порт снаружи (порт будет переведен на ввод)


Как оно должно придти снаружи?

По идее, если я подам 5 Вольт на любой регистр Data, при включённым режиме ввода, если там 0, то там должна случиться еденица, и читаться еденица в этом регистре? Если там 1, то надо подать ноль? Так? Я правильно считаю?


Если перевести Data в режим чтения, то на них не будет ни 0 ни 1 - они станут ВХОДАМИ. Какое напряжение на них подашь (от чего угодно, хоть от батарейки) - такой сигнал и прочтется.

Цитата

Пробовал, ставил, и не раз! Что надо подать в Data?
Я пробовал "+" от Status, пробовал "+" от Control,   
И что читалось? Не забудь на остальные входы Data подать 0 (соединить их с землей)

Цитата

пробовал "+" от другого регистра Data даже!
Это не пройдет - другие входы Data так же переключатся на ввод и на них не будет никакого напряжения, ни + ни -

Цитата

Может. просто надо взять отдельные 5 вольт - логическая 1 - с отдельного источника, с батарейки?
Можно

Цитата

Хотя. какая тут разница, ведь, если 1 пришёл, то неважно, откуда он пришёл...или порт так устроен, что нельзя с одного вывода одного порта подавать напряжение на другие?
Можно.

Есть вариант, что LPT не поддерживает чтение (посмотри, какой режим LPT стоит в BIOS'е - должен быть EPP или ECP)

Цитата

Может, в самих биллиотеках winio  замут?
Врядли  smile 

Выложи код, как пробовал в консоли, посмотрю.


PM MAIL   Вверх
new_web
Дата 22.2.2008, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Да! Попробовал на другом компе, на работе  - при установке 5-го бита Control в 1 все биты
Data становятся 1 и записать в них можно извне smile  smile ! - 
Они начинают работать подобно порту Status!

 Значит причина была в BIOS
или в старом железе, у меня дома старенький компик, в BIOS не смотрел. так как прочёл сообщение 
Цитата(xvr @  21.2.2008,  11:41 Найти цитируемый пост)
Есть вариант, что LPT не поддерживает чтение (посмотри, какой режим LPT стоит в BIOS'е - должен быть EPP или ECP)

уже здесь!


И, если бы не один ньюанс, то вопрос можно было бы считать окончательно закрытым! - 

Переключаем регистр Data на приём.
Все они(регистры, биты) устанавливаются в один.
Работает Data, в режиме приёма,  подобно порту Status - если подать землю -будет ноль - убрать землю - становится еденица! 

так ведь должно быть?

А вот, собственно, и ньюанс -  в своей программе, посредством ввода кликом по UpDown мне не получается записать в Data ничего, если флаг  С4 Control включён - так оно и должно быть. по-идее.
Но, когда я кликаю по Shape я меняю значение Data, а флаг C4 в Control обнуляется.
Как это понимать? Это опять баг программы? - Но, ведь для доступа я использую одну и туже функцию.  
И ещё один - теперь в Control минимальное значение 192
а максимальное 255  -просто два крайних регистра засветились - но доступу к ним, похоже, что нет.
Кажется, именно от спецификации здесь всё зависело.

Но, в любом случае,  я могу писать в Data! smile !

Огромное спасибо всем!
 
Вопрос решён, но тема, думаю не закрыта, так как многое пока не ясно!
Какая максимальная частота Data, Status,Control? С какой скоростью можно писать/читать?


PM MAIL   Вверх
xvr
Дата 22.2.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(new_web @ 22.2.2008,  10:41)
Переключаем регистр Data на приём.
Все они(регистры, биты) устанавливаются в один.
Работает Data, в режиме приёма,  подобно порту Status - если подать землю -будет ноль - убрать землю - становится еденица! 

так ведь должно быть?

Так может быть (но не гарантируется). Что бы было так гарантированно - в порт Data надо подавать напряжения 0 или +5В (а не оставлять их болтаться в воздухе)

Цитата

А вот, собственно, и ньюанс -  в своей программе, посредством ввода кликом по UpDown мне не получается записать в Data ничего, если флаг  С4 Control включён - так оно и должно быть. по-идее.
Но, когда я кликаю по Shape я меняю значение Data, а флаг C4 в Control обнуляется.
Как это понимать? Это опять баг программы?
 Похоже

Цитата

Какая максимальная частота Data, Status,Control? С какой скоростью можно писать/читать?
При прямом доступе к портам (не из под Windows) можно получить килобайт 200-300 в секунду. При доступе через WinIO - в несколько раз меньше. (Померяй экспериментально)
В режиме EPP обещают до 2MB/s (реально получается меньше)

PM MAIL   Вверх
new_web
Дата 26.2.2008, 06:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



  
Цитата(xvr @  22.2.2008,  11:38 Найти цитируемый пост)
При прямом доступе к портам (не из под Windows) можно получить килобайт 200-300 в секунду. При доступе через WinIO - в несколько раз меньше. (Померяй экспериментально)В режиме EPP обещают до 2MB/s (реально получается меньше)


Вообще-то, только на WinIO у меня заработало, на других не шло..смотри выше...

А как получить прямой доступ, не из под виндовс?


PM MAIL   Вверх
xvr
Дата 26.2.2008, 11:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(new_web @ 26.2.2008,  06:10)
Цитата(xvr @  22.2.2008,  11:38 Найти цитируемый пост)
При прямом доступе к портам (не из под Windows) можно получить килобайт 200-300 в секунду. При доступе через WinIO - в несколько раз меньше. (Померяй экспериментально)В режиме EPP обещают до 2MB/s (реально получается меньше)


Вообще-то, только на WinIO у меня заработало, на других не шло..смотри выше...

"Вы не любите кошек?! Да полно, вы просто не умеете их готовить!"  smile 
Через любой драйвер из вышеперечисленных можно получить доступ к портам, и то, что 'не получилось' говорит о 'коэффициенте кривизны рук', а не о рабостоспособности драйверов  smile 
Впрочем, любой другой драйвер не будет быстрее, чем WinIO, так что разници тут никакой нет.

Впрочем, я не прав - есть 2 драйвера, которые могут дать более быстрый доступ:
  • GiveIO - Дает прямой доступ к портам (не через драйвер)
  • Драйвер из Uniprog'а - Дает возможность поместить последовательности обращения к порту на уровень драйвера

Цитата

А как получить прямой доступ, не из под виндовс?
Снести Windows и поставить DOS  smile Или см. выше. Или написать свой драйвер и ВСЮ работу с портом поместить в него.

PM MAIL   Вверх
new_web
Дата 29.2.2008, 02:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



  
Цитата(xvr @  26.2.2008,  11:28 Найти цитируемый пост)
"Вы не любите кошек?! Да полно, вы просто не умеете их готовить!"   Через любой драйвер из вышеперечисленных можно получить доступ к портам, и то, что 'не получилось' говорит о 'коэффициенте кривизны рук', а не о рабостоспособности драйверов   

true
Ибо это так((... Кто ж знал, что я не знаком с азбучными истинами, а подключил WinIO потому, что читал инструкцию:
Gordon
Цитата

Файлы кинь в папку с твоим проектом. WinIo.h  и WinIo.lib файлы 
добавь к проекту...

Вот я и додумался добавить inpout32...
 smile 
 
inpout32-Решён smile 



xvr, Спасибо!
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.1108 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.