![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
||||
|
||||
new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Помню, когда-то, я с помощью нескольких транзисторов, резонатора мог получить любой сигнал, а цифровой - так и подавно!
Я не понимал тогда, почему так трудно из компьютера, в котором миллиарды транзисторов, извлечь один простой сигнал, чтобы светодиод засветился! ![]() ![]() ![]() ![]() не понимаю и сейчас... Есть простое решение - удалить старые фильмы - скопировать диск С на D by Acronis, format C fat32... windows 98 install Builder6 install Осуществить мечту, а если нет, то значит. проблема в железе! Но! это проще на другом компике попробовать, могу на трёх, где билдер стоит! Но не сейчас, ибо застрял далеко дома - насморк и работа несовместимы! Но, может, проблема в железе? В настройках BIOS? Кому-то удалось засветить светодиод на LTP с помощью Builder6 в ХР? ![]() ![]() ![]() |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Кому то удалось ![]() Присоединённый файл ( Кол-во скачиваний: 40 ) ![]() |
|||
|
||||
Gordon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 459 Регистрация: 9.7.2006 Репутация: 1 Всего: 6 |
new_web, посмотри тут, правда не inpout32, но светодиод зажигает...
![]() Присоединённый файл ( Кол-во скачиваний: 64 ) ![]() -------------------- |
|||
|
||||
new_web |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
![]() ![]() ![]()
Работает! Огромное спасибо! Для тех. кому интересно выложу код,(и он работает) участника Gordon, - который мне помог!
Теперь, только фантазия может ограничить меня, как я могу это использовать! Если кому интересно. для чего мне это - пишите в личку! Спасибо всем, я многое узнал, многому научился, также узнал. что мне ещё учиться и учиться! Очень интересный и нужный форум, и его подраздел Программирование контроллеров. Так-или иначе у меня будет много вопросов на эту тему, а пока - пока - ибо ВОПРОС РЕШЁН |
||||
|
|||||
new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Сделал ДЕМО програмку. которая устанавливает по-клику напряжение на любом выводе порта Data, Control, а также читает состояние всех портов. ведёт лог изменений состояний портов, с возможностью сохранения и печати.
Вот скрин: ![]() а вот и сама ссылка на программу, вместе с исходниками http://new-web.ucoz.ua/ltp_demo.rar Обновлён 20.02.08 При её разработке пользовался знаниями, которые подчерпнул здесь, в этой теме, а также в других темах этого форума. Вопрос! А как записать значение в порт Data извне? Пробовал подавать "+" на выводы, пробовал "землю" ничего не меняется! Даже, если Control замкнуть на "землю ", то значение на нём поменяется. А ещё странный "каприз" - если переключать старший регистр Data, то на выводах Control напряжение инвертируется. На самом деле, состояние Control при изменении любого регистра Data обнуляется(отредактировано мной позже) А если замкнуть Status на землю (там всегда 1 на выводах) то вообще все порты бесятся, мигают. - это драйвер виндовс думает, что ему всунули что-то, потом успокаивается. Но, надо спросить. а где действие этого драйвера заканчивается, на что он влияет.,и как его можно деактивировать? Буду рад видеть ваши отклики! Теперь осталось только железо подсоеденить, да и програмно описать мудрую мысль... ![]() Склонен считать своё первоё знакомство с контроллерами удачным! ![]() Это сообщение отредактировал(а) new_web - 20.2.2008, 06:39 |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Стандартный LPT не поддерживает ввод данных через Data ![]() ![]() ![]()
Действительно странный - такого быть не должно
![]() |
||||||
|
|||||||
new_web |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
в 5 бит? тоесть надо писать значение в тот бит, который недоступен на выводе? их там 4 всего, но ещё 4 без выводов, старшие... И как оно тогда должно записаться в Data? если на выводах ноль, и подам плюс, то на том выводе будет один, по-идее. а если там 1, то надо ноль подать, чтобы изменить? Где можно почитать доку, разный хелп по этой теме?
Помедленней. пожалуйста. я записываю ![]() Если серьёзно. то как это понимать? Что это значит? Это сообщение отредактировал(а) new_web - 19.2.2008, 12:53 |
||||
|
|||||
xvr |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Да, именно так
![]() http://www.thaiio.com/parallelportinfo.html
Ищи в google IEEE 1284 - получишь МОРЕ ссылок |
||||||||
|
|||||||||
new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
ДА, действительно, ссылок море, правда, подавляющее большинство всё на английском, его я читаю куда медленней...
Есть где-нибуть толковая спецификация на русском? И пока я не нашёл примера, как оно будет записываться в Data порт, нужно мне ещё много прочитать ,чтобы понять, разобраться... Я пробовал Control 5 бит. и 4 бит, перепробовал вс комбинацию... ни разу подача напряжения на Data не срабатывала, чтобы там сигнал изменился... а ещё получается. что в Control можно записать не больше 63, тоесть 2 старших бита недоступны А ещё я ошибся выше
состояние Control при изменении любого регистра Data обнуляется - я немного обновил програмку. теперь она корректней работает, но я чувствую. что там ещё есть баги. посмотрел бы кто???))) Было бы проще на каком нибуть конкретном примере увидеть работу, пощупать светодиодом... ![]() Это сообщение отредактировал(а) new_web - 20.2.2008, 05:04 |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
У тебя в программе запись в control ограничена 5ю битами
Посмотрел, в методах ResetDataValueLtp и ResetControlValueLtp написан полный бред ![]() |
||||||
|
|||||||
new_web |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
Ну, я согласен, что идею, реализованную в вышеприведённых методах можно было оформить лучшим образом. Теперь. собственно, что он делает: Он, метод, принимает клик от соответствующего Shape, изменяет состояние соответствующего вывода порта. Если Shape светит, и на нём кликнуть, то он потухнет, и наоборот, в зависимости. от значения порта
Смею уверить. это не бред ,пусть вся прога бредовая, но, именно эта часть кода
есть моя маленькая гордость, жаль, что Вы не увидели красоты в ней, жаль, что я, не могу доступными словами донести её действие. А делает она всего лишь то, что изменяет значения порта так, чтобы изменилось состояние конкретного бита, в нашем случае, это Tag, не изменяя состояния других битов Вы можете покликать на кружочках Shape, чтобы всё понять... Весьма поверхостные знания битовых операторов я подчерпнул из книги Р.Дэвиса "С++ для чайников", ст 52 Глава 4 "Зачем придуманы эти глупые операторы". Поскольку программа притерпела изменения, благодаря знаниям из http://forum.vingrad.ru/forum/topic-196064...y1417670/0.html то методы ResetDataValueLtp и ResetControlValueLtp стало возможным объеденить в один, но это уже из серии "Для НУБОВ - Теория постороения классов" - поскольку у меня своих классов, созданных, за душой несколько голодных сирот, то я имею радость от надежды, что мои классы, со временем, станут похожи на классы. ![]() Верю, но никак не могу найти где... ![]() Не подскажете? ![]() Это сообщение отредактировал(а) new_web - 20.2.2008, 13:21 |
||||||
|
|||||||
xvr |
|
||||||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Пардон, не заметил, что цикл пустой. Конечно, этим кодом можно гордится, но я бы не стал ![]()
И вообще рекомендую ГЛУБОКО ознакомится с битовыми операциями, мир стане проще ![]()
Я немного не прав - не запись, а инициализация массива (это ошибка, но на работу с control регистром влиять не должна) UnitImageLPT.cpp 55: for(int i=0;i<[B]4;i++)bControlIndicator[i]=false;[/B] Кстати, ЧИТАТЬ control регистр дело совершенно бесполезное - он не обязан возвращать то, что в него было записано ![]() |
||||||||||||
|
|||||||||||||
new_web |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 1.2.2008 Репутация: нет Всего: нет |
![]() ![]() Действительно, очень красиво! Очевидно, мне стоило быть более сдержанным в оценке своих достижений, но как говорится,- "что написано топором..." да, но это всего лишь конструктор, в котором они обнуляются при загрузке програмы. А дальше они(индикаторы) должны реагировать, по логике работы програмы, если значение Control будет > 63?
Тоесть, надо самому помнить значение? Но, ведь до 63 читает исправно! И самая главная проблема, как записать в Data извне? Результат - надо читать инфу |
|||
|
||||
xvr |
|
||||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Должны, но лучше инициализировать ![]()
|
||||||||
|
|||||||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |