WAVESHARE LoqotipiUSB-CAN avtobus interfeysi
Adapter interfeysi funksiyası
Kitabxana istifadəçi təlimatıWAVESHARE USB CAN Bus Interface Adapter Interface Function Library

BİRİNCİ HİSSƏVIEW

Əgər istifadəçi sadəcə olaraq USB-CAN avtobus interfeysi adapterindən istifadə edərək CAN avtobus rabitə testinə keçərsə, o zaman test məlumatlarını göndərmək və qəbul etmək üçün təchiz edilmiş USB-CAN Tool proqram təminatından birbaşa istifadə edə bilər.
İstifadəçi öz məhsulları üçün proqram təminatı yazmaq niyyətindədirsə. Zəhmət olmasa aşağıdakı təlimatları diqqətlə oxuyun və s-dən istinad edinampkodu təqdim edirik:
⑴ C++ Builder ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹Delphi ⑺LabVIEW ⑻ LabWindows/CVI ⑼Matlab ⑽QT ⑾Python/Python-can.
Kitabxananı inkişaf etdirin file :ControlCAN.lib, ControlCAN.DLL
VC versiyası funksiya bəyannaməsi file :ControlCAN.h
VB versiyası funksiya bəyannaməsi file: ControlCAN.bas
LaboratoriyaVIEW versiya kitabxanası funksiyası paket modulu :ControlCAN.llb
Delphi versiyası funksiya bəyannaməsi file: ControlCAN.pas

İKİNCİ HİSSƏ UYĞUN FUNKSİYA KİTABXANASI VƏ MƏLUMATLAR STRUKTURU

2.1. NÖVLƏRİN TƏYİFİ
2.1.1. Cihaz növü

Tip Tərifi Dəyəri yazın Təsvir
DEV_USBCAN2 4 USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN

2.1.2. VCI_BOARD_INFO
VCI_BOARD_INFO strukturu USB-CAN Series interfeys kartı cihaz məlumatlarını ehtiva edir.
Struktur VCI_ReadBoardInfo funksiyasında doldurulacaq.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 1

Üzv:
hw_Versiya
Avadanlıq versiya nömrəsi, onaltılıq notation. Məsələn, 0x0100 V1.00-i təmsil edir.
fw_Versiya
Avadanlıq versiya nömrəsi, onaltılıq notation. Məsələn, 0x0100 V1.00-i təmsil edir.
Səhifə 2
dr_Versiya

Sürücü versiyası nömrəsi, onaltılıq notation. Məsələn, 0x0100 V1.00-i təmsil edir.
Versiyada
İnterfeys kitabxanasının versiya nömrəsi, hexadecimal notation. Məsələn, 0x0100 V1.00-i təmsil edir.
irq_Num
Sistem qorunur.
can_Num
CAN kanalının ümumi sayını təmsil edir.
str_Serial_Num
Bu lövhə kartının seriya nömrəsi.
str_hw_Növü
“USBCAN V1.00” kimi aparat növü (Qeyd: '\0' sətir terminatoru daxildir).
Qorunur
Sistem qorunur.
2.1.3. VCI_CAN_OBJ
VCI_Transmit və VCI_Receive funksiyalarında VCI_CAN_OBJ strukturu CAN mesaj çərçivəsini ötürmək üçün istifadə olunur.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şek

Üzv:
ID
Mesaj identifikatoru. Birbaşa ID formatı, sağa yığılmış, lütfən baxın: Əlavə XNUMX: ID Hizalama Təfərrüatları.
TimeStamp
Qəbul stamp vaxt çərçivəsi haqqında məlumat, CAN nəzarətçisi işə salındıqda vaxtın başlaması, vahid 0. 1ms.
Vaxt Bayrağı
Zamandan istifadə edib-etməmək baxımından stamp, 1 effektiv TimeSt-diramp. TimeFlag və TimeStamp yalnız çərçivə qəbul edildikdə məna kəsb edir.
Göndərmə növü
Göndərmə növü. = 0 Normal növü, = 1 Tək Göndərməni göstərir.
Uzaqdan Bayraq
İstər uzaq bayraq olsun. = 1 uzaq bayrağı, = 0 məlumat bayrağını göstərir.
Xarici Bayraq
İstər xarici bayraq olsun. = 1 xarici bayrağı, = 0 standart bayrağı göstərir.
DataLen
Məlumat uzunluğu (<=8), yəni verilənlərin uzunluğu.
Data
Paket məlumatları.
Qorunur
Sistem qorunur.
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG strukturu CAN-ın başlanğıc konfiqurasiyasını müəyyən edir. Struktur VCI_InitCan funksiyasında doldurulacaq.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 2

Üzv:
AccCode
Filtrlənmiş qəbul kodunu alın.
AccMask
Filtr maskası alın.
Qorunur
Qorunur.
Filtr
0-3 diapazonunu təyin etməyə imkan verən filtrləmə üsulu, təfərrüatlar üçün filtr rejimi cədvəlinin 2.2.3-cü bölməsinə baxın.
Vaxt 0
SJA1000 Baud sürəti parametri, Zamanlama0 (BTR0) .
Vaxt 1
SJA1000 Baud sürəti parametri, Zamanlama1 (BTR1) .
Rejim
İş rejimi, 0 = normal əməliyyat, 1 = Yalnız dinləmə rejimi, 2 = spontan qəbul və göndərmə test rejimi.
Qeydlər:
Filtr parametrləri haqqında, lütfən, baxın: Əlavə II: CANparametr quraşdırma təlimatları.
CAN Zamanlama0 və Zamanlama1 ötürmə sürətini təyin etmək üçün istifadə olunur, bu iki parametr yalnız başlanğıcda istifadə olunur.tage.
Ənənəvi Baud istinad cədvəli:

CAN Baud dərəcəsi Zamanlama0(BTR0) Zamanlama1(BTR1)
10 min bps 0x31 0x1C
20 min bps 0x18 0x1C
40 min bps 0x87 0xFF
50 min bps 0x09 0x1C
80 min bps 0x83 0xFF
100 min bps 0x04 0x1C
125 min bps 0x03 0x1C
200 min bps 0x81 0xFA
250 min bps 0x01 0x1C
400 min bps 0x80 0xFA
500 min bps 0x00 0x1C
666 min bps 0x80 0xB6
800 min bps 0x00 0x16
1000 min bps 0x00 0x14
33.33 Kbit/s 0x09 0x6F
66.66 Kbit/s 0x04 0x6F
83.33 Kbit/s 0x03 0x6F
  1. İstifadəçilər ötürmə sürəti parametrini təyin etmək üçün yalnız SJA1000 (16MHz) izləməlidirlər.
  2. Adapter 10K-dan aşağı müvəqqəti ötürmə sürətini dəstəkləmir.

2.2. FUNKSİYA TƏSVİRİ
2.2.1. VCI_OpenDevice
Bu funksiya cihazları birləşdirmək üçün istifadə olunur.
DWORD __stdcall VCI_OpenDevice(DWORD DevType, DWORD DevIndex, DWORD Reserved);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
Qorunur
Saxlama parametrləri, 0 doldurun.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 3

2.2.2. VCI_CloseDevice
Bu funksiya əlaqəni bağlamaq üçün istifadə olunur.
DWORD __stdcall VCI_CloseDevice(DWORD DevType, DWORD DevIndex);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 4

2.2.3. VCI_InitCan
Bu funksiya müəyyən edilmiş CAN-ı işə salmaq üçün istifadə olunur.
DWORD __stdcall VCI_InitCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex,
PVCI_INIT_CONFIG pInitConfig);

Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
CANindex
CAN kanal indeksi, məsələn, yalnız bir CAN kanalı olduqda, indeks nömrəsi 0, iki varsa, indeks nömrəsi 0 və ya 1 ola bilər.
pInitConfig
Başlanğıc parametrlərinin strukturu. Üzvlərin parametr siyahısı:

Üzv Funksional təsvir
pInitConfig->AccCode AccCode və AccMask hansı paketlərin qəbul edilə biləcəyini müəyyən etmək üçün birlikdə işləyə bilər. Bu iki registr ID-ni sola düzülmüş təyin etmək üçün istifadə olunur, yəni AccCode və AccMask-ın ən yüksək biti (Bit31) ID dəyərinin ən yüksək biti ilə uyğunlaşdırılır.
pInitConfig->AccMask Şəxsiyyət vəsiqəsinin uyğunlaşdırılması haqqında əlavələrə baxın: Əlavə I:
ID uyğunlaşdırılması təfərrüatları.
Məsələn:AccCode dəyərini 0x24600000 olaraq təyin etsəniz (yəni 0x123 21 bit sola sürüşdürülürsə), AccMask dəyəri
0x00000000 olaraq təyin edilir və sonra yalnız CAN mesaj çərçivəsi ID-si 0x123 olan paketlər qəbul edilə bilər (0x00000000 AccMask dəyəri bütün bitlərin müvafiq olduğunu göstərir
bit). AccCode dəyəri 0x24600000 olaraq təyin edilərsə, AccMask dəyəri 0x600000 olaraq təyin edilir (0x03 21 bit sola sürüşdürülür) və sonra yalnız CAN mesaj çərçivəsi ID-si 0x120 ~ 0x123 olan paketlər qəbul edilə bilər (AccMask dəyəri
0x600000, bit0 ~ bit1-dən başqa digər bitlərin (bit2 ~ bit10) müvafiq bit olduğunu göstərir.
Qeyd: Bu filtr parametri məsələnampstandart çərçivəyə, məsələnample, yüksək 11 bit etibarlı bitdir; uzadılmış çərçivə vəziyyətində və sonra etibarlı ID 29 bitdir. AccCode və AccMask etibarlı bit kimi yüksək 29 bit təyin etdi!
pInitConfig-> Qorunur qorunur
pInitConfig-> Filtr Filtrləmə rejimi parametrləri, lütfən, filtr rejimi cədvəlinin bölməsinə baxın.
pInitConfig->Timing0 Baud rateT0 parametri
pInitConfig->Timing1 Baud rateT1 parametri
pInitConfig->Rejim Rejimi Əməliyyat:
0-normal əməliyyat
1-Yalnız dinləmə rejimi
2-spontan qəbul və göndərmə test rejimi (bu dəyər ZLG funksiya kitabxanasından çıxarılıb)

Filtr rejimi cədvəli:

Dəyər ad Təsvir
1 Bütün növləri qəbul edin Həm standart, həm də uzadılmış çərçivəyə uyğundur!
2 Yalnız standart çərçivə alın Standart çərçivəyə uyğundur və uzadılır
çərçivə birbaşa filtrasiya ilə çıxarılacaq!
3 Yalnız uzadılmış çərçivəni qəbul edin Uzatılmış çərçivəyə uyğundur və standart çərçivə tərəfindən çıxarılacaq
birbaşa filtrasiya! 。

Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.
Məs

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 4

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 6

2.2.4. VCI_ReadBoardInfo
Bu funksiya adapter aparat məlumatlarını oxumaq üçün istifadə olunur. Ümumiyyətlə, buna məhəl qoymamaq olar.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType,DWORD
DevIndex,PVCI_BOARD_INFO pInfo);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0-dır, bir neçə USB-CAN adapteri olduqda, indeks nömrələri 0-dan başlayaraq artan qaydadadır. pInfo
VCI_BOARD_INFO cihaz məlumat strukturu göstəricisini saxlamaq üçün istifadə olunur.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 7

2.2.5. VCI_GetReceiveNum
Bu funksiya qəbul edilmiş, lakin təyin olunmuş qəbuledici buferdə oxunmamış çərçivələri təyin etmək üçün istifadə olunur.
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan qaydadadır.
CANindex
CAN kanal indeksi.
Qaytarır:
Hələ oxunmamış kadrları qaytarın.
Məs
#include “ControlCan.h” int ret=VCI_GetReceiveNum(2,0,0);
2.2.6. VCI_ClearBuffer
Bu funksiya tərəfindən təyin edilmiş kanalın qəbul və göndərmə buferini təmizləmək üçün istifadə olunur
USB-CAN adapteri.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan qaydadadır.
CANindex
CAN kanal indeksi.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 8

2.2.7. VCI_StartCAN
Bu funksiya CAN nəzarətçisini və adapterin daxili kəsmə qəbulu funksiyasını işə salmaq üçün istifadə olunur.
DWORD __stdcall VCI_StartCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
CANindex
CAN kanal indeksi.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 9

2.2.8. VCI_ResetCAN
Bu funksiya CAN nəzarət cihazını sıfırlamaq üçün istifadə olunur.
DWORD __stdcall VCI_ResetCAN(DWORD DevType, DWORD DevIndex, DWORD CANIndex);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
CANindex
CAN kanal indeksi.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 10

2.2.9. VCI_Transmit
Bu funksiya CAN mesaj çərçivəsini göndərmək üçün istifadə olunur.
DWORD __stdcall VCI_Transmit(DWORD DeviceType, DWORD DeviceInd, DWORD CANInd,PVCI_CAN_OBJ pSend, DWORD Length);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
CANindex
CAN kanal indeksi. pSend
Göndərilməli olan verilənlər çərçivəsi massivlərinin ilk ünvanı.
Uzunluq
Göndərilməli olan məlumat çərçivələrinin sayı, maksimum sayı 1000, tövsiyə olunan dəyər yüksək sürətdə 48-dir.
Qaytarır:
Artıq göndərilmiş kadrların həqiqi sayını qaytarın, qaytarılan dəyər = -1 cihaz xətasını göstərir.
Məs
WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 11

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 12

2.2.10. VCI_Qəbul
Bu funksiya qəbulu tələb etmək üçün istifadə olunur.
DWORD __stdcall VCI_Receive(DWORD DevType, DWORD DevIndex, DWORD CANIndex, PVCI_CAN_OBJ qəbulu, ULONG Len, INT Gözləmə vaxtı);
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
CANindex
CAN kanal indeksi.
almaq
Məlumat çərçivələrinin ilk təyin edilmiş göstəricisini almaq üçün.
Len
Normal mesajı qaytarmaq üçün verilənlər çərçivəsinin massiv uzunluğu 2500-dən çox olmalıdır.
Əks halda, mesajın qəbul edilib-edilməməsindən asılı olmayaraq, qaytarma uzunluğu sıfır olacaq. adapter hər kanal üçün 2000 kadr bufer təyin edir. Öz sisteminə və iş mühitinə əsaslanaraq istifadəçi 2500-dən uyğun massiv uzunluğunu seçə bilər.
Gözləmə vaxtı qorunur.
Qaytarır:
Həqiqətən oxunmuş çərçivələrin sayını qaytarın, -1 cihaz səhvlərini göstərir.
Məs
WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 13

ÜÇÜNCÜ HİSSƏ DİGƏR FUNKSİYALAR VƏ MƏLUMATLARIN STRUKTURUNUN TƏSVİRİ

Bu fəsildə ControlCAN.dll USB-CAN adapter interfeys kitabxanasında olan uyğun olmayan ZLG interfeys kitabxanasının digər məlumat növləri və funksiyaları təsvir edilir. Zəhmət olmasa edin
Uyğunluğa təsir etməmək üçün ikinci dərəcəli inkişaf üçün uyğun ZLG modelindən istifadə etsəniz, bu funksiyaları çağırmayın.
3.1 FUNKSİYANIN TƏSVİRİ
3.1.1. VCI_UsbDeviceReset
USB-CAN adapterini sıfırlayın, VCI_OpenDevice istifadə edərək sıfırladıqdan sonra cihazı yenidən açmaq lazımdır.
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType, DWORD DevIndex, DWORD Reserved
Parametrlər:
DevType
Cihaz növü. Bax: Adapter cihaz tipinin tərifi.
DevIndex
Cihaz İndeksi, məsələnample, yalnız bir USB-CAN adapteri olduqda, indeks nömrəsi 0, çoxlu USB-CAN adapterləri olduqda, indeks nömrələri 0-dan başlayan artan sıradadır.
Qorundu Ehtiyatlı.
Qaytarır:
Qaytarma dəyəri = 1, bu əməliyyatın uğurlu olduğunu bildirir; = 0 əməliyyatın uğursuz olduğunu göstərir; = -1 cihazın mövcud olmadığını göstərir.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 14

bRel = VCI_UsbDeviceReset(nDeviceType, Müstəqillik, 0);
3.1.2. VCI_FindUsbDevice2
Eyni PC çoxlu USB-CAN istifadə etdikdə, istifadəçi cari cihazı tapmaq üçün bu funksiyadan istifadə edə bilər.
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
Parametrlər:
pInfo
pInfo ilk məlumat bufer ünvan göstəricisinin parametrlərini saxlamaq üçün istifadə olunur.
Qaytarır
Kompüterə qoşulmuş USB-CAN adapterinin nömrəsini qaytarın.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 15

Dördüncü Hissə İnterfeys Kitabxana Funksiyaları Prosesdən İstifadə
Cihaz funksiyasını çoxaltmaq üçün biz əlavə funksiyalar təqdim etdik (yaşıl fonla təqdim olunan funksiyalar), bu funksiyalara aşağıdakılar daxildir: VCI_FindUsbDevice2 VCI_UsbDeviceReset. İkinci inkişaf zamanı bu funksiyaların işə salınması mütləq deyil. Bu funksiyalar nəzərə alınmasa belə, bütün USB-CAN adapter funksiyalarına nail olmaq olar.

WAVESHARE USB CAN Bus Interface Adapter Interface Function Library - Şəkil 16

www.waveshare.com
www.waveshare.com/wiki

Sənədlər / Resurslar

WAVESHARE USB-CAN Bus Interface Adapter Interface Function Library [pdf] Təlimat kitabçası
USB-CAN Bus Interface Adapter Interface Function Library, USB-CAN, Bus Interface Adapter Interface Function Library, Interface Functions Kitabxanası, Funksiyalar Kitabxanası

İstinadlar

Şərh buraxın

E-poçt ünvanınız dərc olunmayacaq. Tələb olunan sahələr qeyd olunub *