|
|
|
работа с I_BUTTON в VBA
|
|||
|---|---|---|---|
|
#18+
Здравствуете, уважаемые! Если есть у кого-нить опыт работы с "таблетками" i-button, помогите пожалуйста. Необходимо только считать SN "таблетки" пробую через стандартные дрова от производителя. там работа через api-функции организована. подключаю девайт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 15:19 |
|
||
|
работа с I_BUTTON в VBA
|
|||
|---|---|---|---|
|
#18+
извиняюсь, сорвалось в общем подключаю девайс и начинаю работу Код: plaintext затем проверяю корректность Код: plaintext 1. а потом что ни пытаюсь читать ROM Код: plaintext Код: plaintext выдаёт ошибку "сессия не открыта" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2007, 15:24 |
|
||
|
работа с I_BUTTON в VBA
|
|||
|---|---|---|---|
|
#18+
в SelectROM(0)) должен быть ноль, чтобы с помощью TMRom считать серийник устройства. я делаю для DS18b20 так и все работает: MyHandle = TMExtendedStartSession(1, 1, vbNullString) If (MyHandle < 0) Then MsgBox ("1-Wire network is NOT available") Exit Sub End If '1-Wire network is valid and setup dmmy = TMSetup(MyHandle) ' проверяем что девайс online! =) ReDim ROMid(j) search = TMFirst(MyHandle, state_buffer(0)) 'ищем первый девайс If (search >= 1) Then 'нашли девайс ROM(0) = 0 'признак чтения серийника flag = TMRom(MyHandle, state_buffer(0), ROM(0)) 'читаем серийник найденого девайса RomString = "" For i = 7 To 0 Step -1 'ROMid(j).ROMOrig(7 - i) = ROM(7 - i) If ROM(i) <= &HF Then RomString = RomString + "0" ROMid(j).ROMOrig(i) = 0 Else RomString = RomString + Hex$(ROM(i)) ROMid(j).ROMOrig(i) = ROM(i) End If Next i ROMid(j).ROM = RomString j = j + 1 End If Do While (search >= 1) search = TMNext(MyHandle, state_buffer(0)) 'ищем первый девайс If (search >= 1) Then 'нашли еще один девайс ROM(0) = 0 flag = TMRom(MyHandle, state_buffer(0), ROM(0)) 'читаем серийник найденого девайса RomString = "" ReDim Preserve ROMid(UBound(ROMid) + 1) For i = 7 To 0 Step -1 'ROMid(j).ROMOrig(7 - i) = ROM(7 - i) If ROM(i) <= &HF Then RomString = RomString + "0" ROMid(j).ROMOrig(7 - i) = 0 Else RomString = RomString + Hex$(ROM(i)) ROMid(j).ROMOrig(7 - i) = ROM(7 - i) End If Next i ROMid(j).ROM = RomString End If Loop Этим кодом нахожу все девайсы на шине и помещаю изх в массив ROMid и т.д. Буду вопросы- пиши в личку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2007, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=60&fpage=207&tid=2162933]: |
0ms |
get settings: |
9ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
68ms |
get topic data: |
6ms |
get forum data: |
1ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 341ms |

| 0 / 0 |
