LAN I2C ადაპტერი VM
ინტერფეისის სახელმძღვანელო
LANIICVM.DLL
TCP/IP - I2C
(გამოცემა 1.0)

Falkentaler Steig 9
დ - 13467 ბერლინი
ტელეფონი: +49 30 617 412 48
ფაქსი: +49 30 617 412 47
www.coptonix.com
LAN I2C ადაპტერი VM - დინამიური ბმული ბიბლიოთეკა
დინამიური ბმული ბიბლიოთეკის DLL
1 ზოგადი ფუნქციები
1.1 InitNetIIC
ფუნქცია initnetiic (pIRQCallBack, pSlvCallBack, pVMCallBack : Pointer) : DWORD Stdcall;
ჰოსტის აპლიკაციის გაშვებისას, ეს ფუნქცია უნდა გამოიძახოთ, თუ საჭიროა გამოძახების ფუნქციები. არგუმენტები pIRQCallBack, pSlvCallBack და pVMCallback არის გამოძახების ფუნქციების მისამართები.
TIRQCallBack = პროცედურა; stdcall;
ეს ფუნქცია გამოიძახება შეფერხების აღმოჩენისას და IRQ IN ანგარიშის (0x0920) მიღებისას.
TSlvCallBack = პროცედურა (შემდგომი მონაცემები : Pointer, wSize : Word); stdcall;
ეს ფუნქცია გამოიძახება, როდესაც ადაპტერი იმყოფება SLAVE MODE-ში და იღებს მონაცემებს I2C მასტერიდან და მიიღება SLAVE DATA IN ანგარიში (0x8230). მონაცემები არის მიმღები მონაცემების მაჩვენებელი და wSize არის მიღებული ბაიტების რაოდენობა.
TVMCallBack = პროცედურა (შემდგომი მონაცემები : Pointer, wSize : Word); stdcall;
ეს ფუნქცია გამოიძახება VM DATA IN ანგარიშის (0x5000) მიღებისას. მონაცემები არის მითითება ვირტუალური მანქანით 8051 გაგზავნილი მონაცემებისა და wSize არის მიღებული ბაიტების რაოდენობა.
თუ გამოძახების ფუნქცია არ არის საჭირო, უბრალოდ გაიარეთ ნული ფუნქციამდე
. მაგ: iniusbiic(ნული, ნული,@vmcallback);
თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.2 დაკავშირება
ფუნქცია დაკავშირება (შოსტი: PAnsiChar; wport: Word) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება LAN I2C ადაპტერ VM-თან დასაკავშირებლად IP მისამართის გამოყენებით შოსტი (მაგ. „192.168.1.100“) და პორტის ნომერი ვპორტი (მაგ. 5000). თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
ქსელის ნაგულისხმევი პარამეტრები:
GAR (Gateway IP მისამართის რეგისტრაცია): 192.168.1.1
SUBR (ქვექსელის ნიღბის რეგისტრაცია): 255.255.255.0
IP (IP მისამართის რეგისტრაცია): 192.168.1.100
SHAR (ტექნიკის მისამართების რეგისტრაცია -MAC-): 00-00-00-00-00-00
TCP / IP პორტი: 5000
UDP პორტი: 3000
1.3 გათიშვა
ფუნქცია გათიშვა: DWORD Stdcall;
ეს ფუნქცია გამოიყენება კლიენტის LAN I2C ადაპტერ VM-ისგან გათიშვისთვის. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.4 დაკავშირებულია
ფუნქცია დაკავშირებულია: DWORD Stdcall;
ეს ფუნქცია გამოიყენება იმის შესამოწმებლად, არის თუ არა კავშირი დამყარებული. ფუნქცია უბრუნებს ნულს, თუ კავშირი დამყარებულია.
1.5 SetMode
ფუნქცია setmode(var ucMode, ucSlvAddr: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ირჩევს სამიდან ერთ-ერთ ოპერაციულ რეჟიმს: MASTER MODE, SLAVE MODE ან PROG MODE.
ucMode = 0 -> არ იმოქმედებს რაიმე ცვლილებაზე. ფუნქცია აბრუნებს მიმდინარე რეჟიმს.
ucMode = 1 -> MASTER MODE
ucMode = 2 -> SLAVE MODE
ucMode = 3 -> PROG MODE
ucSlvAddr არის ადაპტერის საკუთარი slave მისამართი (მოქმედი მხოლოდ SLAVE MODE-ში). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.6 GetNetConfig
ფუნქცია getnetconfig(var pNetConfig; wSize : WORD; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ქსელის მიმდინარე პარამეტრების წასაკითხად LAN I2C ადაპტერი VM-დან. pNetConfig არის ბუფერის მაჩვენებელი, რომელიც იღებს მოწყობილობიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
TNetConfig = ჩანაწერი
GAR: DWORD; //მაგ. 0xC0A80101 = 192.168.1.1
SUBR: DWORD; //მაგ. 0xFFFFFF00 = 255.255.255.0
IP: DWORD; //მაგ. 0xC0A80164 = 192.168.1.100
TCPPORT: WORD; //მაგ. 5000
UDPPORT: WORD; //მაგ. 3000
VMTCPPORT : WORD; //მაგ. 5001
VMUDPPORT : WORD; //მაგ. 3001
SHAR: მასივი [0..5] ბაიტი; //მაგ [0x00,0x00,0x00, 0x00,0x00,0x00] PHYCHECK : ბაიტი; //მაგ. 12 შეესაბამება 60-ს (1 წუთი)
KPALIVE: ბაიტი; //მაგ. 12 შეესაბამება 60-ს (1 წუთი)
VMKPALIVE: ბაიტი; //მაგ. 12 შეესაბამება 60-ს (1 წუთი)
დასასრული;
PTNetConfig = ^TNetConfig;
1.7 GetMemProtect
ფუნქცია getmemprotect(var ucProtect : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ფუნქცია გამოიყენება მეხსიერების დაცვის მიმდინარე პარამეტრების წასაკითხად. ucProtect აბრუნებს მიმდინარე პარამეტრებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
ucProtect = 0 -> ჩაწერის ოპერაციები ჩართულია
ucProtect = 1 -> ჩაწერის ოპერაციები გამორთულია
1.8 GetIRQ
ფუნქცია getirq(var ucIRQMode : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება შეფერხების შეყვანის კონფიგურაციის წასაკითხად MASTER MODE-ში მუშაობისას. ucIRQ რეჟიმი აბრუნებს შეფერხების შეყვანის მიმდინარე კონფიგურაციას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
შესაძლო მნიშვნელობები ucIRQMode:
0: შეწყვეტა გამორთულია.
1: ჩართულია შეფერხება. შეწყვეტა მგრძნობიარეა დაცემის ზღვარზე.
2: ჩართულია შეფერხება. შეწყვეტა მგრძნობიარეა ამომავალი კიდეზე.
1.9 VMStartRequest
ფუნქცია vmstartrequest(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8051 ვირტუალური მანქანის გაშვების მოთხოვნის გასაგზავნად. თუ ბაიტიკოდი უკვე ჩატვირთულია, VM იწყებს ბაიტიკოდის შესრულებას და VM სტატუსი დაყენებულია VM_RUNNING. შენიშვნა: ამ ბრძანებაზე პასუხი ნიშნავს, რომ ბრძანება გაგზავნილია, მაგრამ VM შეიძლება ჯერ არ დაწყებულა. წაიკითხეთ VM მიმდინარე სტატუსი ფუნქციის გამოყენებით vmstate. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.10 VMStopRequest
ფუნქცია vmstoprequest(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8051 ვირტუალური მანქანის შეჩერების მოთხოვნის გასაგზავნად. VM წყვეტს ბაიტეკოდის შესრულებას და VM სტატუსი დაყენებულია VM_ABORTED. შენიშვნა: ამ ბრძანებაზე პასუხი ნიშნავს, რომ ბრძანება გაგზავნილია, მაგრამ VM შეიძლება ჯერ არ იყოს შეჩერებული. წაიკითხეთ VM მიმდინარე სტატუსი ფუნქციის გამოყენებით vmstate. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.11 VMGetState
ფუნქცია vmgetstate(var ucstate: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8051 ვირტუალური მანქანის მდგომარეობის წასაკითხად. ucstate აბრუნებს VM-ის მიმდინარე სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
შესაძლო მნიშვნელობები ucstate:
0: VM_ABORTED.
1: VM_RUNNING
2: VM_ABORT_REQUEST
3: VM_START_REQUEST
1.12 VMIRQ მოთხოვნა
ფუნქცია vmirqrequest(const pvmdata; ucSize: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 255 ვირტუალურ მანქანაზე 8051 ბაიტამდე გასაგზავნად. თუ VM უკვე მუშაობს და შეფერხება ჩართულია, VM გადადის შესაბამის სერვისის რუტინაში. გამოიძახეთ ფუნქცია VMIRQ შედეგი რათა შეამოწმოს, მიიღო თუ არა VM-მა მონაცემები და დაამუშავა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.13 VMIRQ შედეგი
ფუნქცია vmirqresult(var ucIrqResult : byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება a-ს ბოლო ზარის შედეგის წასაკითხად VMIRQ მოთხოვნა. ucIrq შედეგი უდრის 1-ს, თუ მონაცემები მიღებულია VM-ის მიერ და მონაცემები ხელმისაწვდომია შემდგომი დამუშავებისთვის. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.14 VMReset
ფუნქცია vmreset(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება VM-ის კოდის მეხსიერების წასაშლელად და VM-ის გადატვირთვისთვის. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.15 VMCodeLoaded
ფუნქცია vmcodeloaded(dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება იმის შესამოწმებლად, არის თუ არა ორობითი file უკვე ჩაიტვირთა VM-ის კოდის მეხსიერებაში და დამოწმებული. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.15 VMLoadCode_A
ფუნქცია vmloadcode_a(pImage: PAnsiChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასაწერად VM-ის კოდის მეხსიერებაში. სურათი არის ორობითი გზის მაჩვენებელი file ტიპის პანსიჩარ. dwImageChkSum აბრუნებს ბაიტეკოდის გამოთვლილ საკონტროლო ჯამს. wImageSize აბრუნებს VM-ში დაწერილი ბაიტიკოდის ზომას. pVMFlashCallBack არის მაჩვენებელი გამოძახების ფუნქციისკენ, რომელიც აბრუნებს პროგრესის სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
TVMFlashCallBack = პროცედურა (wImageSize, BytesWritten : Word; dwErr : DWORD); stdcall;
1.16 VMLoadCode_W
ფუნქცია vmloadcode_w(pImage: PChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ასე იქცევა VMLoadCode_A, გარდა იმისა, რომ ეს ფუნქცია იღებს არგუმენტს სურათი ტიპის PChar (WideChar).
1.17 VMVerifyCode
ფუნქცია vmverifycode(dwImageChkSum : DWORD; wImageSize : WORD; dwTimeOut : DWORD) : DWORD; stdcall;
შემდეგი ნაბიჯი VM-ის მეხსიერებაში ბაიტეკოდის ჩატვირთვის შემდეგ არის ბაიტეკოდის გადამოწმება. ეს კეთდება VM-ში ბაიტეკოდის საკონტროლო ჯამის ჩაწერით. VM ითვლის საკონტროლო ჯამს და ადარებს მას მიღებულ საკონტროლო თანხას. საკონტროლო ჯამი არის 32 ბიტიანი 2-ის დამატება ბაიტეკოდის ჯამისა. ბაიტიკოდისა და საკონტროლო ჯამის ჯამი უნდა იყოს 0x00000000.
1.18 VMLoadVerifyCode_A
ფუნქცია vmloadverifycode_a(pImage: PAnsiChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასაწერად VM-ის კოდის მეხსიერებაში და ატვირთული ბაიტიკოდის შესამოწმებლად. სურათი არის ორობითი გზის მაჩვენებელი file ტიპის პანსიჩარ. dwImageChkSum აბრუნებს ბაიტეკოდის გამოთვლილ საკონტროლო ჯამს. wImageSize აბრუნებს VM-ში დაწერილი ბაიტიკოდის ზომას. pVMFlashCallBack არის მაჩვენებელი გამოძახების ფუნქციისკენ, რომელიც აბრუნებს პროგრესის სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
TVMFlashCallBack = პროცედურა (wImageSize, BytesWritten : Word; dwErr : DWORD); stdcall;
1.19 VMLoadVerifyCode_W
ფუნქცია vmloadverifycode_w(pImage: PChar; var dwImageChkSum: DWORD; var wImageSize: WORD; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ასე იქცევა VMLoadVerifyCode_A, გარდა იმისა, რომ ეს ფუნქცია იღებს არგუმენტს სურათი ტიპის PChar (WideChar).
1.20 VMLoadToEEP_A
ფუნქცია vmloadtoeep_a(pImage: PAnsiChar; wAddr: WORD; ucPageSize: Byte; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასაწერად ბორტ მეხსიერებაში (EEPROM). სურათი არის ორობითი გზის მაჩვენებელი file ტიპის პანსიჩარ. wAddr არის საწყისი მისამართი, სადაც ბაიტიკოდი უნდა ჩაიწეროს EEPROM-ში. ucPageSize EEPROM-ის გვერდის ზომა (64 ბაიტი). pVMFlashCallBack არის მაჩვენებელი გამოძახების ფუნქციისკენ, რომელიც აბრუნებს პროგრესის სტატუსს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.21 VMLoadToEEP_W
ფუნქცია vmloadtoeep_w(pImage: PChar; wAddr: WORD; ucPageSize: Byte; pVMFlashCallBack: Pointer; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია ასე იქცევა VMLoadToEEP_A, გარდა იმისა, რომ ეს ფუნქცია იღებს არგუმენტს სურათი ტიპის PChar (WideChar).
1.22 VMLoadFromEEP
ფუნქცია vmloadfromeep(wAddr: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტეკოდის ჩასატვირთად EEPROM-დან givin მისამართზე (wAddr) VM-ის კოდის მეხსიერებაში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.23 VMSetParam
ფუნქცია vmsetparam(ucLoad: Byte; wAddr: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება VM-ის ჩატვირთვის ვარიანტების დასაყენებლად. ბაიტიკოდი შეიძლება ავტომატურად ჩაიტვირთოს EEPROM-დან VM-ის კოდის მეხსიერებაში ადაპტერის ჩართვისა და ჩატვირთვის შემდეგ. Addr არის მისამართი, სადაც მდებარეობს ბაიტიკოდი. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
| Addr | 2 | 0x0100..0x7FFF | EEPROM-ის ზომაა 32K ბაიტი. მეხსიერების მისამართი 0x0100-დან 0x7FFF-მდე დიაპაზონში. |
| ჩატვირთვის პარამეტრები | 1 | ბიტი[0] | 0: არ ჩატვირთოთ; 1: ჩატვირთეთ ბაიტიკოდი VM-ში ჩატვირთვის შემდეგ |
| ბიტი[1] | 0: არ დაიწყო; 1: დაიწყება ბაიტიკოდი VM-ში ჩატვირთვის შემდეგ | ||
| ბიტი [7:2] | დაცულია. დაწერეთ ნულები |
1.24 VMGetParam
ფუნქცია vmgetparam(var ucLoad: Byte; var wAddr: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება VM-ის ჩატვირთვის ვარიანტების წასაკითხად. Addr აბრუნებს მისამართს, სადაც მდებარეობს ბაიტეკოდი, ucLoad აბრუნებს ჩატვირთვის პარამეტრებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.25 GetVersion
ფუნქცია getversion(var wVersion: Word; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება პროგრამული უზრუნველყოფის ვერსიის წასაკითხად. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.26 MemWR8Bit
ფუნქცია memwr8bit(wAddr: WORD; ucVal: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 8 ბიტიანი მნიშვნელობის დასაწერად (ucVal) ბორტ მეხსიერებაში მისამართზე wAddr. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.27 MemWR16Bit
ფუნქცია memwr16bit(wAddr: WORD; wVal: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება მისამართზე ბორტ მეხსიერებაში 16 ბიტიანი მნიშვნელობის (wVal) ჩასაწერად wAddr. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.28 MemWR32Bit
ფუნქცია memwr32bit(wAddr: WORD; dwVal: DWORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება 32 ბიტიანი მნიშვნელობის დასაწერად (dwVal) ბორტ მეხსიერებაში მისამართზე wAddr. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.29 MemWRBlock
ფუნქცია memwblock(wAddr: WORD; const pmemdata; wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბორტ მეხსიერებაში მონაცემთა ბლოკის ჩასაწერად. pmemdata არის მაჩვენებელი ბუფერზე, რომელიც შეიცავს მეხსიერებაში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მეხსიერებაში ჩასაწერი ბაიტების რაოდენობა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.30 MemRD8 ბიტი
ფუნქცია memrd8bit(wAddr: WORD; var ucVal: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ბრძანება გამოიყენება მისამართის მეხსიერებიდან 8 ბიტიანი მნიშვნელობის წასაკითხად wAddr. ucVal აბრუნებს წაკითხულ 8 ბიტიან მნიშვნელობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.31 MemRD16 ბიტი
ფუნქცია memrd16bit(wAddr: WORD; var wVal: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ბრძანება გამოიყენება მისამართის მეხსიერებიდან 16 ბიტიანი მნიშვნელობის წასაკითხად wAddr. wVal აბრუნებს წაკითხულ 16 ბიტიან მნიშვნელობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.32 MemRD32 ბიტი
ფუნქცია memrd32bit(wAddr: WORD; var dwVal: DWORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ბრძანება გამოიყენება მისამართის მეხსიერებიდან 32 ბიტიანი მნიშვნელობის წასაკითხად wAddr. dwVal აბრუნებს წაკითხულ 32 ბიტიან მნიშვნელობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.33 MemRDBlock
ფუნქცია memrdblock(wAddr: WORD; var pmemdata; var wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბაიტების რაოდენობის წასაკითხად (wSizeმისამართიდან დაწყებული მეხსიერებიდან wAddr. pi2cdata არის ბუფერის მაჩვენებელი, რომელიც იღებს მეხსიერებიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მეხსიერებიდან წასაკითხი ბაიტების რაოდენობა. wSize ასევე აბრუნებს მეხსიერებიდან წაკითხული ბაიტების რაოდენობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.34 Save Settings
ფუნქციის შენახვის პარამეტრები (dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ბორტ მეხსიერებაში პარამეტრების შესანახად (ოპერაციული რეჟიმი, სლავის მისამართი და SCL სიხშირე). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.35 პარამეტრების გადატვირთვა
ფუნქციის გადაყენება (dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება ქარხნული (ნაგულისხმევი) პარამეტრების აღსადგენად:
MASTER_MODE
SLAVE ADDRESS = 0x00
SCL სიხშირე = 100 kHz
dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
1.36 GetErrorString
ფუნქცია geterrorstring(dwErr : DWORD) : PAnsiChar; stdcall;
ეს ფუნქცია გამოიყენება შეცდომის კოდის წასაკითხ სტრინგად გადასაყვანად. DLL-ის მიერ მოწოდებული შეცდომის კოდების სრული სიისთვის იხილეთ განყოფილება 5 შეცდომის კოდები. dwErr არის ამ სახელმძღვანელოში ნახსენები ყველა ფუნქციის დაბრუნების მნიშვნელობა. დაბრუნებული მნიშვნელობა არის შეცდომის სტრიქონი.
2 PROG MODE ფუნქცია
2.1 SetGAR
ფუნქცია setgar (ucVal1, ucVal2, ucVal3, ucVal4: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება GAR-ისთვის ახალი მნიშვნელობის დასაყენებლად (Gateway IP მისამართის რეგისტრაცია). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
მაგ 192.168.1.1
ucVal1 = 192
ucVal2 = 168
ucVal3 = 1
ucVal4 = 1
dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.2 SetSUBR
ფუნქცია setsubr (ucVal1, ucVal2, ucVal3, ucVal4: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება SUBR-ისთვის (ქვექსელის ნიღბის რეგისტრი) ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
მაგ: 255.255.255. 0
ucVal1 = 255
ucVal2 = 255
ucVal3 = 255
ucVal4 = 0
dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.3 SetSHAR
ფუნქცია setshar (ucVal1, ucVal2, ucVal3, ucVal4, ucVal5, ucVal6: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება SHAR-ისთვის ახალი მნიშვნელობის დასაყენებლად (Hardware Address Register -MAC-). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
e.g. 00-50-C2-00-00-00
ucVal1 = 0x00
ucVal2 = 0x50
ucVal3 = 0xC2
ucVal4 = 0x00
ucVal5 = 0x00 ucVal6 = 0x00
dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.4 SetIP
ფუნქციის დაყენება (ucVal1, ucVal2, ucVal3, ucVal4: ბაიტი; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება IP მისამართის ახალი მნიშვნელობის დასაყენებლად (IP მისამართების რეგისტრაცია). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ.
მაგ 192.168.1.100
ucVal1 = 192
ucVal2 = 168
ucVal3 = 1
ucVal4 = 100
dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.5 SetTCPPport
ფუნქცია settcpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება TCP/IP მოსმენის პორტისთვის ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 5000). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.6 SetUDPPort
ფუნქცია setudpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება UDP პორტისთვის ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა ჩაიწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 3000). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.7 SetVMTCPPport
ფუნქცია settcpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება ახალი მნიშვნელობის დასაყენებლად TCP/IP მოსმენის პორტისთვის პირდაპირი კომუნიკაციისთვის ვირტუალურ მანქანასთან 8051. ახალი მნიშვნელობა ჩაიწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 5001). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.8 SetVMUDPPport
ფუნქცია setudpport (wPort: Word; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება UDP პორტისთვის ახალი მნიშვნელობის დასაყენებლად ვირტუალურ მანქანასთან 8051 პირდაპირი კომუნიკაციისთვის. ახალი მნიშვნელობა ჩაიწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. wPort არის პორტის ნომერი (მაგ. 3001). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.9 SetKeepAlive
ფუნქცია setkeepalive (ucKPAlive: Byte; dwTimeOut: DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება 1-ის სოკეტის KEEP ALIVE პაკეტებისთვის დროის ინტერვალის ახალი მნიშვნელობის დასაყენებლად (TCP/IP). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. ucKPALIVE არის დროის ინტერვალი. დროის ერთეული არის 5 წამი. მაგ. 12-ის მნიშვნელობა შეესაბამება 60 წამს, ამ შემთხვევაში KEEP ALIVE პაკეტები იგზავნება ყოველ 60 წამში (1 წუთში). KEEP ALIVE პაკეტები გადაიცემა მხოლოდ მას შემდეგ, რაც მონაცემები მიიღება კლიენტისგან და გაიგზავნება. თუ კლიენტი ვერ პასუხობს KEEP ALIVE პაკეტს, სოკეტი გათიშულია. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.10 SetVMKeepAlive
ფუნქცია setvmkeepalive (ucKPAlive: Byte; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება მე-3 სოკეტის KEEP ALIVE პაკეტებისთვის დროის ინტერვალის ახალი მნიშვნელობის დასაყენებლად (TCP/IP კლიენტსა და VM 8051-ს შორის პირდაპირი კომუნიკაციისთვის). ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. ucKPALIVE არის დროის ინტერვალი. დროის ერთეული არის 5 წამი. მაგ. 12-ის მნიშვნელობა შეესაბამება 60 წამს, ამ შემთხვევაში KEEP ALIVE პაკეტები იგზავნება ყოველ 60 წამში (1 წუთში). KEEP ALIVE პაკეტები გადაიცემა მხოლოდ მას შემდეგ, რაც მონაცემები მიიღება კლიენტისგან და გაიგზავნება. თუ კლიენტი ვერ პასუხობს KEEP ALIVE პაკეტს, სოკეტი გათიშულია. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.11 SetPHYCheck
ფუნქცია setphycheck (ucPhyCheck: Byte; dwTimeOut : DWORD) : DWORD Stdcall;
ეს ფუნქცია გამოიყენება ქსელის საკაბელო კავშირის შესამოწმებლად დროის ინტერვალის ახალი მნიშვნელობის დასაყენებლად. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). ახალი მნიშვნელობა ძალაშია ჩართვის ან REINIT ბრძანების შემდეგ. ucPhyCheck არის დროის ინტერვალი. დროის ერთეული არის 5 წამი. მაგ. 12-ის მნიშვნელობა შეესაბამება 60 წამს, ამ შემთხვევაში PHYLINK და საკაბელო კავშირი მოწმდება ყოველ 60 წამში (1 წუთი). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.12 LoadFactorySettings
ფუნქცია loadfactorysettings (dwTimeOut : DWORD) : DWORD Stdcall;
იტვირთება ქარხნული (ნაგულისხმევი) ქსელის პარამეტრები. მომდევნო ჩართვისას ან ReInit ფუნქციის გამოძახების შემდეგ, კონვერტორი იყენებს ახალ პარამეტრებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
ქსელის ნაგულისხმევი პარამეტრები:
GAR (Gateway IP მისამართის რეგისტრაცია): 192.168.1.1
SUBR (ქვექსელის ნიღბის რეგისტრაცია): 255.255.255.0
IP (IP მისამართის რეგისტრაცია): 192.168.1.100
SHAR (ტექნიკის მისამართების რეგისტრაცია -MAC-): 00-00-00-00-00-00
TCP / IP პორტი: 5000
UDP პორტი: 3000
TCP/IP პორტი (VM): 5001
UDP პორტი (VM): 3001
KEEP ALIVE დროის ინტერვალი: 0 (გამორთულია)
KEEP ALIVE დროის ინტერვალი (VM): 0 (გამორთულია)
PHY LINK შემოწმების დროის ინტერვალი: 12 (60 წამი)
2.13 ReInit
ფუნქცია reinit (dwTimeOut : DWORD) : DWORD Stdcall;
ქსელის ახალი პარამეტრები ძალაში შედის ჩართვის ან ფუნქციის "ReInit" გამოძახების შემდეგ. ფუნქცია "ReInit" ახდენს ადაპტერის ხელახლა ინიცირებას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
2.14 SetMemProtect
ფუნქცია setmemprotect(ucProtect: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ფუნქცია გამოიყენება ჩაწერის ოპერაციების ჩართვა/გამორთვა ბორტ მეხსიერებაში (მხოლოდ მომხმარებლის მეხსიერება > 0xFF) შემთხვევითი ჩაწერის ოპერაციებიდან. ჩაწერის ოპერაციები გამორთულია მეხსიერებაში, როდესაც ucProtect დაყენებულია 0x01-ზე. თუ ucProtect დაყენებულია 0x00-ზე, დაცვა გამორთულია და ჩაწერა დაშვებულია. ახალი მნიშვნელობა იწერება პირდაპირ მეხსიერებაში (EEPROM). dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
ucProtect = 0 -> ჩაწერის ოპერაციები ჩართულია
ucProtect = 1 -> ჩაწერის ოპერაციები გამორთულია
3 MASTER MODE ფუნქცია
3.1 WriteI2C
ფუნქცია writei2c(ucSlvAddr: ბაიტი; const pi2cdata; wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C მოწყობილობაზე მონაცემების ჩასაწერად. ucSlvAddr არის I2C მოწყობილობის სლავური მისამართი. pi2cdata არის ბუფერის მაჩვენებელი, რომელიც შეიცავს მოწყობილობაში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მოწყობილობაში ჩასაწერი ბაიტების რაოდენობა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.2 ReadI2C
ფუნქცია readi2c(ucSlvAddr: ბაიტი; var pi2cdata; var wSize: WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C მოწყობილობიდან მონაცემების წასაკითხად. ucSlvAddr არის I2C მოწყობილობის სლავური მისამართი. pi2cdata არის ბუფერის მაჩვენებელი, რომელიც მიიღებს მოწყობილობიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. wSize არის მოწყობილობიდან წასაკითხი ბაიტების რაოდენობა. wSize ასევე აბრუნებს მოწყობილობიდან წაკითხული ბაიტების რაოდენობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.3 WRDI2C
ფუნქცია wrdi2c(ucSlvAddr: Byte; const pwrdata; wwrSize: WORD; var prddata; var wrdSize, : WORD; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება RepeatedStart-ით გამოყოფილი I2C მოწყობილობიდან მონაცემების ჩასაწერად და წასაკითხად. ucSlvAddr არის I2C მოწყობილობის სლავური მისამართი. pwrdata არის ბუფერის მაჩვენებელი, რომელიც შეიცავს მოწყობილობაში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wwrSize არის მოწყობილობაში ჩასაწერი ბაიტების რაოდენობა. prddata არის ბუფერის მაჩვენებელი, რომელიც მიიღებს მოწყობილობიდან წაკითხულ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი წაკითხვის ოპერაციის ხანგრძლივობის განმავლობაში. wrdSize არის მოწყობილობიდან წასაკითხი ბაიტების რაოდენობა. wrdSize ასევე აბრუნებს მოწყობილობიდან წაკითხულ ბაიტებს. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.4 ChkSlvAddr
ფუნქცია chkslvaddr(ucslvaddr: Byte; var ucConnected: byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება იმის შესამოწმებლად, არის თუ არა მონის მისამართი ucSlvAddr დაკავშირებულია I2C ავტობუსთან. თუ ucConnected აბრუნებს 0, მოწყობილობა არ არის დაკავშირებული. თუ ucConnected აბრუნებს 1-ს, მოწყობილობა დაკავშირებულია I2C ავტობუსთან. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.5 ScanI2C
ფუნქცია scani2c(var pscandata; var ucSize : byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C ავტობუსის სკანირებისთვის იმ მოწყობილობებისთვის, რომლებიც ამჟამად დაკავშირებულია ავტობუსთან. pscandata არის ბუფერის მაჩვენებელი, რომელიც იღებს აღმოჩენილი სლავური მისამართების (მოწყობილობების) სიას. ეს ბუფერი უნდა დარჩეს მოქმედი სკანირების ოპერაციის ხანგრძლივობის განმავლობაში. ucSize აბრუნებს აღმოჩენილი მოწყობილობების რაოდენობას. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.6 SetSCL
ფუნქცია setscl(dwfreq : DWORD; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C საათის სიხშირის ახალი მნიშვნელობის დასაყენებლად. dwfreq არის ახალი სიხშირე ([Hz]-ში) 500Hz-დან 400kHz-მდე დიაპაზონში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.7 GetSCL
ფუნქცია getscl(var dwfreq : DWORD; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება I2C საათის სიხშირის მიმდინარე მნიშვნელობის წასაკითხად. dwfreq არის სიხშირე ([Hz]-ში) 500Hz-დან 400kHz-მდე დიაპაზონში. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
3.8 SetIRQ
ფუნქცია setirq(ucIRQMode : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება IRQ რეჟიმის დასაყენებლად MASTER MODE-ში მუშაობისას. ადაპტერს აქვს შეფერხების შეყვანა. მაგალითად, თუ გამოიყენება IO-Expander და მისი შეფერხების გამომავალი დაკავშირებულია ადაპტერის შეფერხების შეყვანასთან, მაშინ პროგრამული უზრუნველყოფა ამოიცნობს IO-Expander-ის ყველა მოვლენას, როდესაც იცვლება IO-ების მდგომარეობა. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
შესაძლო მნიშვნელობები ucIRQ რეჟიმი:
0: გამორთეთ შეფერხება.
1: ჩართეთ შეფერხება. შეწყვეტა მგრძნობიარეა დაცემის ზღვარზე.
2: ჩართეთ შეფერხება. შეწყვეტა მგრძნობიარეა ამომავალი კიდეზე.
4 SLAVE MODE ფუნქცია
4.1 SetI2CSlvAddr
ფუნქცია seti2cslvaddr(var ucslvaddr : Byte; dwTimeOut : DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება Slave MODE-ში მუშაობის დროს slave მისამართის შესაცვლელად. ucslvaddr არის ადაპტერის ახალი სლავური მისამართი. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
4.2 WriteI2CSlaveBuf
ფუნქცია writei2cslvbuf(const pi2cdata; wSize: WORD; ucEvent: Byte; dwTimeOut: DWORD) : DWORD; stdcall;
ეს ფუნქცია გამოიყენება მონაცემების ჩასაწერად I2C გამომავალი ბუფერში. pi2cdata არის მაჩვენებელი ბუფერზე, რომელიც შეიცავს ბუფერში ჩასაწერ მონაცემებს. ეს ბუფერი უნდა დარჩეს მოქმედი ჩაწერის ოპერაციის ხანგრძლივობის განმავლობაში. wSize (მაქს. 1024 ბაიტი) არის ბუფერში ჩასაწერი ბაიტების რაოდენობა. თუ ucEvent დაყენებულია 1-ზე, ადაპტერი უგზავნის შეფერხების სიგნალს მასტერს. ამ გზით, ადაპტერი აცნობებს მასტერს, რომ მონაცემები მზად არის წასაკითხად. dwTimeOut არის დროის ამოწურვის მნიშვნელობა მილიწამში. თუ ფუნქცია ვერ მოხერხდა, დაბრუნების მნიშვნელობა არ არის ნულოვანი.
5. შეცდომის კოდები
RET_OK = $00000000;
ERR_UNABLE_TO_CONNECT = $00010001;
ERR_UNABLE_TO_DISCONNECT = $00010002;
ERR_DISCONNECTED = $00010003;
ERR_COMM_UNKNOWN = $00020000;
ERR_NET_WRITE = $00020001;
ERR_NET_READ_TIMEOUT = $00020002;
ERR_NET_READ_WAIT_FAILED = $00020003;
ERR_NET_READ_WAIT_ABANDONED = $00020004;
ERR_NET_IO_CALLBACK = $00020005;
ERR_RD_TH_TIMEOUT = $00030001;
ERR_RD_TH_WAIT_FAILED = $00030002;
ERR_RD_TH_WAIT_ABANDONED = $00030003;
ERR_CREATE_SYNC_EVENT = $00040001;
ERR_IO_TO_TH_PULSEEVENT = $00040002;
ERR_TH_TO_IO_SETEVENT = $00040003;
ERR_TH_TO_IO_RESETEVENT = $00040004;
ERR_IO_TO_TH_SETEVENT = $00040005;
ERR_CREATE_MMF_HANDLE = $00050001;
ERR_CREATE_MMF = $00050002;
ERR_CREATE_MMF_LOCK_HANDLE = $00050003;
ERR_LOCK_MMF = $00050004;
ERR_MMF_MAX_APP_NUM_REACHED = $00050005;
ERR_WRI2C_FAILED = $00070001;
ERR_RDI2C_FAILED = $00070002;
ERR_WRI2C_INVALID_SIZE = $00070003;
ERR_RDI2C_INVALID_SIZE = $00070004;
ERR_INVALID_SCL_FREQUENCY = $00070005;
ERR_I2C_ERROR = $00070020;
ERR_I2C_ARBLOST = $00070021;
ERR_I2C_BUS_ERROR = $00070022;
ERR_I2C_INVALID_WLEN = $00070023;
ERR_I2C_INVALID_RLEN = $00070024;
ERR_I2C_NAK_WADDR = $00070025;
ERR_I2C_NAK_RADDR = $00070026;
ERR_I2C_NAK_WDAT = $00070027;
ERR_I2C_TIMEOUT = $00070028;
ERR_I2C_BUSY = $00070029;
ERR_I2C_DEVICE_NOT_CONNECTED = $0007002A;
ERR_HW_UNKNOWN = $00080000;
ERR_MEMORY_WRITE_FAILED = $00080001;
ERR_MEMORY_READ_FAILED = $00080002;
ERR_MEMORY_RESTRICTED = $00080003;
ERR_MEMORY_Protected = $00080004;
ERR_MEMORY_INVALID_ADDR = $00080005;
ERR_MEMORY_INVALID_SIZE = $00080006;
ERR_SAVE_SETTINGS_FAILED = $00080007;
ERR_RESET_SETTINGS_FAILED = $00080008;
ERR_VM_COMM = $00090001;
ERR_VM_RUNNING = $00090002;
ERR_VM_ABORTED = $00090003;
ERR_VM_CODE_ADDR = $00090004;
ERR_VM_CODE_SIZE = $00090005;
ERR_VM_CODE_CHECKSUM = $00090006;
ERR_VM_CODE_NOT_LOADED = $00090007;
ERR_VM_IRQ_DATA_SIZE = $00090008;
ERR_VM_IRQ_REQUEST = $00090009;
ERR_UNKNOWN_CMDID = $000F0001;
ERR_UNKNOWN_CMD = $000F0002;
ERR_MODE_CMD = $000F0003;
გადასინჯვის ისტორია
| რევ. | თარიღი | აღწერა |
| 1.0 | 05 2022 ივლისი | დინამიური ბმული ბიბლიოთეკის TCP/IP – I2C-ის საწყისი გამოშვება |
2022 Coptonix GmbH Rev 1.0 / 2022 წლის ივლისი
დოკუმენტები / რესურსები
![]() |
COPTONIX LANIICVM.DLL LAN I2C ადაპტერი VM [pdf] მომხმარებლის სახელმძღვანელო LANIICVM.DLL, LAN I2C ადაპტერი VM, LANIICVM.DLL LAN I2C ადაპტერი VM |




