Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Можно ли взять адрес порта
retas Дата: Чт, 05.11.2009, 21:04  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Возможно ли в Протоне сделать, на пример, подобное (оператор PORT выдуман мною):
, PORT = portA............' чтоб далее иметь возможность писать:
, OUTPUT PORT.0...........' и получить portA.0=OUTPUT,
, PORT.0 = 1..................' получить portA.0=1.
и т.п.
И совсем было бы хорошо иметь возможность писать так:
, PORT = portA.0
, OUTPUT PORT
, PORT = 1
У меня МК последовательно следит за 20шт. портами (кнопками) и пришлось 20 раз писать одну и ту же процедуру
(каждый раз, конечно, указывая конкретный порт) - мелочь, но неприятная.
В MikroC, кажется, есть оператор '^' позволяющий работать с адресами, хотелось бы и в Протоне похожего.
Остаюсь с надеждой, что я плохо искал, а если посчитаете что слишком много хочу, так это ведь не запрещено.
Спасибо.
ЯНДЕКС Дата: 05.11.2009
ADMIN Дата: Сб, 07.11.2009, 18:47  |                                                                                                                Сообщение # 2
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Конечно можно:

Device = 16F628A
Dim port As PORTA
Dim i As Byte

main:
port = 1
For i = 0 To 5
port = port << 1
Next
GoTo main

retas Дата: Пн, 09.11.2009, 00:54  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 445
Репутация: 11   ±
Замечания:   ±
На сайте с 10.09.2007

Статус: Offline

Спасибо, ADMIN.
Оказывается мне надо было точнее выражаться.
Переменная 'port' должна позволить сделать конкретный вывод портаА и INPUT'ом т.е. мне надо через 'port' иметь полное управление выводом
ибо 'port' должен 1)разгрузить конденсатор(OUTPUT 'port'), 2) позволить ему загрузиться током в линии (INPUT 'port'), 3)зажеч LED (OUTPUT 'port' и 'port'=1).
ADMIN Дата: Пн, 09.11.2009, 14:25  |                                                                                                                Сообщение # 4
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

А в чем проблема?
Так и пишите:
Code

Device = 16F628A
Dim port As PORTA
Dim i As Byte

main:
port = 1
For i = 0 To 5
port = port << 1
Next
Set port.5
bcf port.1
Clear port.4
Output port.2
Input port.6
GoTo main
  • Страница 1 из 1
  • 1
Поиск: