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

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ivan_fd  
Команда SHIFTOUT
contra Дата: Вт, 10.05.2011, 16:03  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

Всем привет! Никак не могу понять эту команду в последней её части, т.е. [Var{\Bits}...]. Подскажите пожалуйста. Было-бы здорово, если с примером. Описание команды у Хилинского не привнесло ясности.
Спасибо.
ЯНДЕКС Дата: 10.05.2011
ivan_fd Дата: Вт, 10.05.2011, 18:10  |                                                                                                                Сообщение # 2
Группа: Модераторы
Ранг:  Специалист
Сообщений: 894
Репутация: 124   ±
Замечания:   ±
На сайте с 12.01.2009

Статус: Offline

Quote (contra)
[Var{\Bits}...].

Допустим переменная Var равна 1-му байту (8 бит)
[var\6] - значит, что передаются только 6 бит из Var.
Вот пример из папки Samples PicBasicPro:

Code
' SHIFTIN and SHIFTOUT Commands

         Include "modedefs.bas"  ' Include shift modes

D1PIN   var     PORTA.0         ' Shift data pin 1
C1PIN   var     PORTA.1         ' Shift clock pin 1
D2PIN   var     PORTB.0         ' Shift data pin 2
C2PIN   var     PORTB.1         ' Shift clock pin 2

bvar    var     byte
wvar    var     word

' Shift in 10 bits of data
         Shiftin D1PIN, C1PIN, MSBPRE, [wvar\10]

         bvar = wvar

' Shift out 8 bits of data onto other pins
         Shiftout D2PIN, C2PIN, MSBFIRST,[bvar]

         End
contra Дата: Вт, 10.05.2011, 18:57  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

Значит этой командой можно передать только 1 байт (или часть его)?
А как быть если нужно передать последовательно несколько байт
demanik Дата: Вт, 10.05.2011, 21:49  |                                                                                                                Сообщение # 4
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (contra)
Значит этой командой можно передать только 1 байт (или часть его)?

Внутри квадратных скобок через запятую перечисляете нужные переменные для передачи cool


Попробуй всё и вся... может быть пол...

contra Дата: Ср, 11.05.2011, 18:15  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Продвинутый
Сообщений: 112
Репутация: 0   ±
Замечания:   ±
На сайте с 27.06.2009

Статус: Offline

Всем спасибо, кажется разобрался!
  • Страница 1 из 1
  • 1
Поиск: