![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
STRIKER221 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
Возможно ли на VBA реализовать управление LPT? Например к date я подключаю светодиод, и чтобы он засветился при подаче команды из VBA.
|
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Видимо, используя ТОЛЬКО VBA- нет. Но есть разные возможности. Например, подключить какую нибудь процедуру из *.dll
-------------------- (С) kapbepucm |
|||
|
||||
STRIKER221 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
kapbepucm, а как подключить библиотеку?
|
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Основной способ используя Declare. Вот пример модуля:
-------------------- (С) kapbepucm |
|||
|
||||
STRIKER221 |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
kapbepucm, Спасибо, уже разобрался. Вопрос теперь такой
Как сделать чтобы данный код повторялся, т.е. чтобы после команды Out &H378, 32, опять шла команда Out &H378, 4? И после нажатия другой кнопки повтор прекращался. Таким макаром:
Система уходит в висяк и кнопку отмены я нажать не могу... :( И ещё вопрос. Можно ли как-нибудь задать время задержки выполнения команды меньше чем одна секунда? Банальное Application.Wait (Now + TimeValue("0:00:01")/10) не помогло... Это сообщение отредактировал(а) STRIKER221 - 18.9.2008, 17:02 |
||||
|
|||||
kapbepucm |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Вставляйте DoEvents после задержки.
Это сообщение отредактировал(а) kapbepucm - 19.9.2008, 15:23 -------------------- (С) kapbepucm |
||||
|
|||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Это сообщение отредактировал(а) kapbepucm - 19.9.2008, 15:35 -------------------- (С) kapbepucm |
|||
|
||||
STRIKER221 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
kapbepucm, Спасибо. Заработало. Теперь если можно ещё один вопрос:
Как сделать чтобы эти команды шли random'ом??? Т.е. чтобы лампочки не светились по одному, постоянно повторяющемуся циклу, а в хаотичном порядке. |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
надо, что-бы шли в случайном порядке строки 1;3;5;7;9;11;13;15...25?
-------------------- (С) kapbepucm |
|||
|
||||
STRIKER221 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
kapbepucm, Да именно так. Все строки начинающиеся с out.
|
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Дополнительный вопрос: при более детальном изучении, я вижу, что для "хаоса" достаточно
Out &H378, X и Out &H37A, Y Не подскажите, какие значения могут принимать X и Y? Добавлено через 4 минуты и 40 секунд Ещё, строки 9-10 и 18-19 стоят без разделения Sleep -------------------- (С) kapbepucm |
|||
|
||||
STRIKER221 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
kapbepucm, X может принимать значения, 1, 2, 4, 8, 16, 32, 64, 128, 255.
Y может принимать значения 10, 9, 15, 3. Команда Out &H378, 0 переводит все даты в состояние логического 0, а команда Out &H37A, 11 переводит все остальные пины (busy, error и т.д.) в состояние логического 0. Без разделения они стоят потому что, если светится светодиод на 7-ой дате (Out &H378, 128), и далее идёт команда Out &H37A, 10 то светодиод на 7-ой дате не погаснет. Поэтому сначала идёт команда Out &H378, 0 отключающая даты и только затем посылается Out &H37A, 10 включающая следующий диод. Чтобы включить две даты одновременно, нужно сложить их индексы например чтобы 6 и 7 дата перешли в состояние 1 нужно (64+128=192 ). Команда будет такая Out &H378, 192 и т.д. При значении 255 все даты в состоянии 1. |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Попробуйте заменить
на
-------------------- (С) kapbepucm |
|||
|
||||
STRIKER221 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 84 Регистрация: 2.11.2006 Где: Belarus Репутация: нет Всего: нет |
kapbepucm, Спасибо, всё прекрасно работает. Теперь, если можно, ещё один вопрос:
У меня на плате 12 светодиодов расположенных по окружности, есть идея сделать часы c привязкой к системному времени. Т.к. все диоды красного цвета, поэтому решил что часовой светодиод будет светиться постоянно, а минутный мигать. Код получается такой:
Проблема возникла вот какая: минутный диод не переключается. Допустим идёт 4 минута, мигает диод, начинается 5-ая, 6-ая минуты, а светится по прежнему диод 4-ой минуты. В чём ошибка? |
|||
|
||||
kapbepucm |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 993 Регистрация: 14.6.2007 Где: Латвия Репутация: 6 Всего: 12 |
Чтобы понять, где ошибка, опубликуйте, пожалуйста, полный код. Пока я встал на грабли, что каждому Select Case должен соответствовать только один End Select. Их больше ((: Если не затруднит, пользуйтесь пробелами- наглядность вложенности улучшается.
Это сообщение отредактировал(а) kapbepucm - 24.9.2008, 12:39 -------------------- (С) kapbepucm |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |