የዩኤስቢ-CAN አውቶቡስ በይነገጽ
አስማሚ በይነገጽ ተግባር
የቤተ መፃህፍት ተጠቃሚ መመሪያ
ክፍል አንድ አልቋልVIEW
ተጠቃሚው ወደ CAN አውቶቡስ ኮሙኒኬሽን ፈተና ለመሄድ የዩኤስቢ-CAN አውቶቡስ በይነገጽ አስማሚን ብቻ ከተጠቀመ እና የፈተናውን ውሂብ ለመላክ እና ለመቀበል በቀጥታ የቀረበውን የዩኤስቢ-CAN መሣሪያ ሶፍትዌር መጠቀም ይችላል።
ተጠቃሚው ለራሱ ምርቶች የሶፍትዌር ፕሮግራም ለመጻፍ ካሰበ. እባክዎ የሚከተሉትን መመሪያዎች በጥንቃቄ ያንብቡ እና ከ s ማጣቀሻ ይውሰዱampኮድ እናቀርባለን-
⑴ ሲ++ ግንበኛ ⑵C# ⑶VC ⑷VB ⑸VB.NET ⑹ዴልፊ ⑺ላብVIEW ⑻ ላብ ዊንዶውስ/ሲቪአይ ⑼ማትላብ ⑽QT ⑾Python/Python-can።
ቤተ መፃህፍት ይገንቡ file : ControlCAN.lib, ControlCAN.DLL
የቪሲ ስሪት ተግባር መግለጫ file : ControlCAN.h
የቪቢ ስሪት ተግባር መግለጫ file: ControlCAN.bas
ቤተ ሙከራVIEW የስሪት ቤተ-መጽሐፍት ተግባር ጥቅል ሞዱል :ControlCAN.llb
የዴልፊ ስሪት ተግባር መግለጫ file: ControlCAN.pas
ክፍል ሁለት ተኳሃኝ ተግባር ቤተ-መጽሐፍት እና የውሂብ መዋቅር
2.1. TYPE ፍቺ
2.1.1. የመሣሪያ ዓይነት
ዓይነት ፍቺ | ዋጋ ይተይቡ | መግለጫ |
DEV_USBCAN2 | 4 | USBCAN-2A/USBCAN-2C/CANalyst-II MiniPCIe-CAN |
2.1.2. VCI_BOARD_INFO
የVCI_BOARD_INFO መዋቅር የUSB-CAN Series በይነገጽ ካርድ መሳሪያ መረጃ ይዟል።
አወቃቀሩ በVCI_ReadBoardInfo ተግባር ይሞላል።
አባል፡
hw_ስሪት
የሃርድዌር ስሪት ቁጥር፣ ሄክሳዴሲማል ምልክት። ለምሳሌ 0x0100 V1.00ን ይወክላል።
fw_ስሪት
የሃርድዌር ስሪት ቁጥር፣ ሄክሳዴሲማል ምልክት። ለምሳሌ 0x0100 V1.00ን ይወክላል።
ገጽ 2
dr_ስሪት
የአሽከርካሪ ስሪት ቁጥር፣ ሄክሳዴሲማል ምልክት። ለምሳሌ 0x0100 V1.00ን ይወክላል።
በ_ስሪት
በይነገጽ ላይብረሪ ስሪት ቁጥር፣ ሄክሳዴሲማል ምልክት። ለምሳሌ 0x0100 V1.00ን ይወክላል።
irq_Num
ስርዓት የተጠበቀ ነው።
ይችላል_ቁጥር
የCAN ቻናል አጠቃላይ ቁጥርን ይወክላል።
str_ተከታታይ_ቁጥር
የዚህ ቦርድ ካርድ መለያ ቁጥር።
str_hw_አይነት
የሃርድዌር አይነት፣ እንደ “USBCAN V1.00” (ማስታወሻ፡ የሕብረቁምፊ ማቋረጫ '\0'ን ያካትታል)።
የተያዘ
ስርዓት የተጠበቀ ነው።
2.1.3. VCI_CAN_OBJ
በVCI_Transmit እና VCI_Receive ተግባራት ውስጥ፣ የVCI_CAN_OBJ መዋቅር የCAN መልእክት ፍሬም ለማስተላለፍ ጥቅም ላይ ይውላል።
አባል፡
ID
የመልእክት መለያ። የቀጥታ መታወቂያ ቅርጸት፣ በቀኝ የተሰለፈ፣ እባክዎን ይመልከቱ፡ አባሪ አንድ፡ የመታወቂያ አሰላለፍ ዝርዝሮች።
TimeStamp
ሴንት መቀበልamp የጊዜ ክፈፉ መረጃ፣ የ CAN መቆጣጠሪያው ሲጀመር ጊዜውን ይጀምሩ፣ ክፍሉ 0. 1ms ነው።
የጊዜ ባንዲራ
ጊዜን ከመጠቀም አንፃር ሴንትamp, 1 ውጤታማ TimeStamp. TimeFlag እና TimeStamp ፍሬም ሲደርሰው ብቻ ትርጉም ያለው ነው.
የመላክ አይነት
የመላክ አይነት። = 0 የሚያመለክተው መደበኛ ዓይነት፣ = 1 ነጠላ መላክን ያመለክታል።
የርቀት ባንዲራ
የሩቅ ባንዲራም ይሁን። = 1 የርቀት ባንዲራ ያሳያል፣ = 0 የውሂብ ባንዲራ ያሳያል።
የውጭ ባንዲራ
የውጭ ባንዲራም ይሁን። = 1 የውጭ ባንዲራ ያሳያል፣ = 0 መደበኛ ባንዲራ ያሳያል።
ዳታ ሌን።
የውሂብ ርዝመት (<= 8) ፣ ማለትም ፣ የውሂብ ርዝመት።
ውሂብ
የፓኬት ውሂብ.
የተያዘ
ስርዓት የተጠበቀ ነው።
2.1.4. VCI_INIT_CONFIG
VCI_INIT_CONFIG መዋቅር የCANን ማስጀመሪያ ውቅር ይገልጻል። አወቃቀሩ በVCI_InitCan ተግባር ይሞላል።
አባል፡
አሲኮድ
የተጣራ ተቀባይነት ኮድ ተቀበል።
AccMask
የማጣሪያ ጭንብል ተቀበል።
የተያዘ
የተያዘ
አጣራ
የማጣሪያ ዘዴ፣ የቅንብር ክልልን ከ0-3 በመፍቀድ፣ ለዝርዝሮች የማጣሪያ ሁነታ ሰንጠረዥ ክፍል 2.2.3 ይመልከቱ።
ጊዜ 0
SJA1000 Baud ተመን መለኪያ፣ Time0 (BTR0)
ጊዜ 1
SJA1000 Baud ተመን መለኪያ፣ Time1 (BTR1)
ሁነታ
የክወና ሁነታ፣ 0 = መደበኛ ስራ፣ 1 = ማዳመጥ-ብቻ ሁነታ፣ 2 = ድንገተኛ መግቢያ እና የመላክ ሙከራ ሁነታ።
አስተያየቶች፡-
ስለ ማጣሪያ ቅንጅቶች እባክዎን ይመልከቱ፡ አባሪ II፡ CANparameter ማዋቀር መመሪያዎች።
የ CAN Timing0 እና Timeing1 የ baud ተመንን ለማዘጋጀት ጥቅም ላይ ይውላሉ፣ እነዚህ ሁለት መለኪያዎች በመነሻ s ላይ ብቻ ጥቅም ላይ ይውላሉtage.
የባህላዊ ባውድ ማጣቀሻ ሰንጠረዥ፡-
CAN Baud ተመን | ጊዜ 0(BTR0) | ጊዜ 1(BTR1) |
10 ኪ.ቢ | 0x31 | 0x1 ሴ |
20 ኪ.ቢ | 0x18 | 0x1 ሴ |
40 ኪ.ቢ | 0x87 | 0xFF |
50 ኪ.ቢ | 0x09 | 0x1 ሴ |
80 ኪ.ቢ | 0x83 | 0xFF |
100 ኪ.ቢ | 0x04 | 0x1 ሴ |
125 ኪ.ቢ | 0x03 | 0x1 ሴ |
200 ኪ.ቢ | 0x81 | 0xFA |
250 ኪ.ቢ | 0x01 | 0x1 ሴ |
400 ኪ.ቢ | 0x80 | 0xFA |
500 ኪ.ቢ | 0x00 | 0x1 ሴ |
666 ኪ.ቢ | 0x80 | 0xB6 |
800 ኪ.ቢ | 0x00 | 0x16 |
1000 ኪ.ቢ | 0x00 | 0x14 |
33.33 ኪባበሰ | 0x09 | 0x6F |
66.66 ኪባበሰ | 0x04 | 0x6F |
83.33 ኪባበሰ | 0x03 | 0x6F |
- የBaud ተመን መለኪያን ለማዘጋጀት ተጠቃሚዎች SJA1000 (16MHz) ብቻ መከተል አለባቸው።
- አስማሚው ለጊዜው የBaud መጠን ከ10ሺህ በታች አይደግፍም።
2.2. የተግባር መግለጫ
2.2.1. VCI_ክፍት መሳሪያ
ይህ ተግባር መሳሪያዎችን ለማገናኘት ያገለግላል.
DWORD __stdcall VCI_OpenDevice(DWORD DevType፣DWORD DevIndex፣DWORD የተያዘ);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
የተያዘ
የማቆያ መለኪያዎች፣ 0 ይሙሉ።
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
2.2.2. VCI_መሣሪያን ዝጋ
ይህ ተግባር ግንኙነቱን ለመዝጋት ያገለግላል.
DWORD __stdcall VCI_CloseDevice(DWORD DevType፣DWORD DevIndex);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
2.2.3. VCI_InitCan
ይህ ተግባር የተገለጸውን CAN ለማስጀመር ይጠቅማል።
DWORD __stdcall VCI_InitCAN(DWORD DevType፣DWORD DevIndex፣DWORD CANIndex፣
PVCI_INIT_CONFIG pInitConfig);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
CANIindex
የCAN ቻናል ኢንዴክስ፣ ለምሳሌ አንድ የCAN ቻናል ሲኖር፣ የመረጃ ጠቋሚ ቁጥሩ 0 ነው፣ ሁለት ካሉ፣ የመረጃ ጠቋሚ ቁጥሩ 0 ወይም 1 ሊሆን ይችላል።
pInitConfig
የማስጀመሪያ መለኪያ መዋቅር. የአባላት መለኪያ ዝርዝር፡-
አባል | ተግባራዊ መግለጫ |
pInitConfig-> Acccode | AccCode እና AccMask የትኛዎቹ እሽጎች መቀበል እንደሚችሉ ለመወሰን አብረው ሊሰሩ ይችላሉ። እነዚህ ሁለት መመዝገቢያዎች መታወቂያውን በግራ የተሰለፈ፣ ማለትም፣ የ AccCode ከፍተኛው ቢት (Bit31) እና AccMask ከከፍተኛው የመታወቂያ እሴት ጋር የተስተካከለ ነው። |
pInitConfig-> AccMask | ስለ መታወቂያ አሰላለፍ ተጨማሪዎችን ይመልከቱ፡ አባሪ I፡ የመታወቂያ አሰላለፍ ዝርዝሮች። ለምሳሌ: የ AccCode ዋጋን እንደ 0x24600000 (ማለትም 0x123 በ 21 ቢት ወደ ግራ ከተቀየረ) የAccMask እሴት ወደ 0x00000000 ተቀናብሯል ፣ እና ከዚያ የ CAN መልእክት ፍሬም መታወቂያ ያላቸው እሽጎች ብቻ 0x123 ይቀበላሉ (AccMask ዋጋ 0x00000000 ሁሉም ቢትስ ተዛማጅ መሆናቸውን ያሳያል) |
ቢት)። የ AccCode እሴት ወደ 0x24600000 ከተዋቀረ የAccMask እሴት ወደ 0x600000 (0x03 ወደ ግራ በ 21 ቢት ይቀየራል) እና ከዚያ የ CAN መልእክት ፍሬም መታወቂያ ያላቸው እሽጎች 0x120 ~ 0x123 ብቻ ነው ተቀባይነት ያለው (AccMask እሴት 0x600000 የሚያመለክተው ከቢት0 ~ ቢት1 በስተቀር ሌሎች ቢት (bit2 ~ bit10) አግባብነት ያላቸው ቢት ናቸው)። ማስታወሻ፡- ይህ የማጣሪያ ቅንብር ለምሳሌamples ወደ መደበኛ ፍሬም, ለምሳሌample, ከፍተኛ 11-ቢት ትክክለኛ ቢት ነው; በተዘረጋው ፍሬም ውስጥ ፣ እና ከዚያ ትክክለኛ መታወቂያ 29-ቢት ነው። AccCode እና AccMask ከፍተኛ 29-ቢት ልክ የሆነ ቢት አዘጋጅተዋል! |
|
pInitConfig->የተያዘ | የተያዘ |
pInitConfig-> ማጣሪያ | የማጣሪያ ሁነታ መቼቶች እባክዎን የማጣሪያ ሁነታ ሰንጠረዥን ክፍል ይመልከቱ። |
pInitConfig-> ጊዜ 0 | Baud ተመንT0 ቅንብር |
pInitConfig-> ጊዜ 1 | Baud ተመንT1 ቅንብር |
pInitConfig-> ሁነታ | የአሠራር ሁኔታ: 0 - መደበኛ ስራ 1-የማዳመጥ-ብቻ ሁነታ 2-ድንገተኛ መግቢያ እና የመላክ ሙከራ ሁነታ (ይህ ዋጋ ከZLG ተግባር ቤተ-መጽሐፍት የተገለለ ነው) |
የማጣሪያ ሁነታ ሰንጠረዥ፡
ዋጋ | ስም | መግለጫ |
1 | ሁሉንም ዓይነቶች ይቀበሉ | ለሁለቱም መደበኛ እና የተራዘመ ፍሬም ተስማሚ! |
2 | መደበኛ ፍሬም ብቻ ተቀበል | ለመደበኛ ፍሬም ተስማሚ እና የተራዘመ |
ፍሬም በቀጥታ በማጣራት ይወገዳል! | ||
3 | የተራዘመ ፍሬም ብቻ ተቀበል | ለተራዘመ ፍሬም ተስማሚ ነው፣ እና መደበኛ ፍሬም በ ይወገዳል በቀጥታ ማጣራት! . |
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
ለምሳሌ
2.2.4. VCI_የቦርድ መረጃ
ይህ ተግባር የአስማሚ ሃርድዌር መረጃን ለማንበብ ይጠቅማል። በአጠቃላይ, ችላ ሊባል ይችላል.
DWORD __stdcall VCI_ReadBoardInfo(DWORD DevType፣DWORD
DevIndex፣PVCI_BOARD_INFO pInfo);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ- CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0. ፒኢንፎ በመነሳት በከፍታ ቅደም ተከተል
VCI_BOARD_INFO የመሣሪያ መረጃ መዋቅር ጠቋሚን ለማከማቸት ይጠቅማል።
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
2.2.5. VCI_Get ReceiveNum
ይህ ተግባር የተቀበለውን ነገር ለመለየት ጥቅም ላይ ይውላል ነገር ግን በተዘጋጀው የመቀበያ ቋት ውስጥ ክፈፎች አልተነበቡም።
DWORD __stdcall VCI_GetReceiveNum(DWORD DevType፣DWORD DevIndex፣DWORD CANIndex);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ከ 0 ጀምሮ በከፍታ ቅደም ተከተል ውስጥ ያሉት ጠቋሚ ቁጥሮች.
CANIindex
CAN ሰርጥ መረጃ ጠቋሚ.
ይመልሳል፡
እስካሁን ያልተነበቡ ፍሬሞችን ይመልሱ።
ለምሳሌ
"ControlCan.h" int ret=VCI_GetReceiveNum(2,0,0)ን ጨምሮ
2.2.6. VCI_ClearBuffer
ይህ ተግባር በተገለጸው የተመደበውን ሰርጥ መቀበያ እና መላክን ለማጽዳት ይጠቅማል
USB-CAN አስማሚ.
DWORD __stdcall VCI_ClearBuffer(DWORD DevType፣DWORD DevIndex፣DWORD CANIndex);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ከ 0 ጀምሮ በከፍታ ቅደም ተከተል ውስጥ ያሉት ጠቋሚ ቁጥሮች.
CANIindex
CAN ሰርጥ መረጃ ጠቋሚ.
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
2.2.7. VCI_StartCAN
ይህ ተግባር የ CAN መቆጣጠሪያውን እና የአስማሚውን የውስጥ መቋረጥ መቀበያ ተግባር ለመጀመር ይጠቅማል።
DWORD __stdcall VCI_StartCAN(DWORD DevType፣DWORD DevIndex፣DWORD CANIndex);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
CANIindex
CAN ሰርጥ መረጃ ጠቋሚ.
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
2.2.8. VCI_ዳግም አስጀምርCAN
ይህ ተግባር የCAN መቆጣጠሪያውን እንደገና ለማስጀመር ጥቅም ላይ ይውላል።
DWORD __stdcall VCI_ResetCAN(DWORD DevType፣DWORD DevIndex፣DWORD CANIndex);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
CANIindex
CAN ሰርጥ መረጃ ጠቋሚ.
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
2.2.9. VCI_አስተላልፍ
ይህ ተግባር የCAN መልእክት ፍሬም ለመላክ ይጠቅማል።
DWORD __stdcall VCI_Transmit(DWORD DeviceType፣DWORD DeviceInd፣DWORD CANInd፣PVCI_CAN_OBJ pSend፣DWORD ርዝመት)
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
CANIindex
CAN ሰርጥ መረጃ ጠቋሚ. ላክ
መላክ ያለበት የውሂብ ፍሬም ድርድሮች የመጀመሪያ አድራሻ።
ርዝመት
መላክ ያለባቸው የውሂብ ፍሬሞች ብዛት፣ ከፍተኛው ቁጥር 1000 ነው፣ የሚመከረው ዋጋ 48 በከፍተኛ ፍጥነት ነው።
ይመልሳል፡
ቀደም ሲል የተላኩትን ትክክለኛ የክፈፎች ብዛት ይመልሱ ፣ የመመለሻ ዋጋ = -1 የመሳሪያ ስህተትን ያሳያል።
ለምሳሌ
2.2.10. VCI_ተቀበል
ይህ ተግባር መቀበያ ለመጠየቅ ይጠቅማል።
DWORD __stdcall VCI_ተቀበል(DWORD DevType፣ DWORD DevIndex፣ DWORD CANIndex፣ PVCI_CAN_OBJ pReceive፣ ULONG Len፣ INT WaitTime);
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
CANIindex
CAN ሰርጥ መረጃ ጠቋሚ.
ተቀበል
የውሂብ ፍሬሞችን የመጀመሪያ ስብስብ ጠቋሚ ለመቀበል።
ሌን
መደበኛውን መልእክት ለመመለስ የውሂብ ፍሬም የድርድር ርዝመት ከ2500 በላይ መሆን አለበት።
ያለበለዚያ መልእክቱ ደርሶም አልደረሰም የመመለሻ ርዝመቱ ዜሮ ይሆናል። አስማሚው ለእያንዳንዱ ቻናል ባለ 2000 ፍሬም ቋት አዘጋጅቷል። በእራሱ ስርዓት እና የስራ አካባቢ ላይ በመመስረት ተጠቃሚው ከ 2500 ጀምሮ ተገቢውን የድርድር ርዝመት መምረጥ ይችላል.
የመጠባበቂያ ጊዜ ተይዟል.
ይመልሳል፡
በትክክል የተነበቡትን የክፈፎች ብዛት ይመልሱ -1 የመሣሪያ ስህተቶችን ያሳያል።
ለምሳሌ
ክፍል ሶስት ሌሎች ተግባራት እና የውሂብ መዋቅር መግለጫ
ይህ ምዕራፍ በUSB-CAN አስማሚ በይነገጽ ላይብረሪ ControlCAN.dll ውስጥ የሚገኘውን ተኳሃኝ ያልሆነውን የZLG በይነገጽ ቤተ-መጽሐፍት ሌሎች የውሂብ አይነቶችን እና ተግባራትን ያብራራል። እባካችሁ አድርጉ
ተኳኋኝነት ላይ ተጽዕኖ እንዳያሳድር ለሁለተኛ ደረጃ እድገት ተስማሚ የ ZLG ሞዴል ከተጠቀሙ እነዚህን ተግባራት አይጥሩ።
3.1 የተግባር መግለጫ
3.1.1. VCI_Usbመሣሪያ ዳግም አስጀምር
የUSB-CAN አስማሚን ዳግም ያስጀምሩ፣ ከዳግም ማስጀመር በኋላ VCI_OpenDeviceን በመጠቀም መሳሪያውን እንደገና መክፈት ያስፈልጋል።
DWORD __stdcall VCI_UsbDeviceReset(DWORD DevType፣DWORD DevIndex፣DWORD የተጠበቀ
መለኪያዎች፡-
DevType
የመሳሪያ ዓይነት. ይመልከቱ፡ አስማሚ መሳሪያ አይነት ፍቺ።
DevIndex
የመሣሪያ መረጃ ጠቋሚ፣ ለምሳሌample, አንድ የዩኤስቢ-CAN አስማሚ ብቻ ሲኖር, የመረጃ ጠቋሚ ቁጥሩ 0 ነው, ብዙ የዩኤስቢ-CAN አስማሚዎች ሲኖሩ, ጠቋሚ ቁጥሮች ከ 0 ጀምሮ በከፍታ ቅደም ተከተል.
የተያዘ.
ይመልሳል፡
የመመለሻ እሴት = 1, ይህም ማለት ክዋኔው ስኬታማ ነው; = 0 ክዋኔው እንዳልተሳካ ያሳያል; = -1 መሣሪያው አለመኖሩን ያመለክታል.
bRel = VCI_UsbDeviceReset(nDeviceType, Independence, 0);
3.1.2. VCI_FindUsbDevice2
ተመሳሳዩ ፒሲ ብዙ ዩኤስቢ-CAN ሲጠቀም ተጠቃሚው የአሁኑን መሳሪያ ለማግኘት ይህንን ተግባር መጠቀም ይችላል።
DWORD __stdcall VCI_FindUsbDevice2(PVCI_BOARD_INFO pInfo);
መለኪያዎች፡-
ፒ መረጃ
pInfo የመጀመሪያውን የውሂብ ቋት አድራሻ ጠቋሚ መለኪያዎችን ለማከማቸት ይጠቅማል።
ይመለሳል
በኮምፒዩተር ላይ የተሰካውን የዩኤስቢ-CAN አስማሚ ቁጥር ይመልሱ።
ሂደትን በመጠቀም ክፍል አራት በይነገጽ ላይብረሪ ተግባራት
የመሳሪያውን ተግባር ለማባዛት ተጨማሪ ተግባራትን አቅርበናል(ከአረንጓዴ ጀርባ ጋር የቀረቡ ተግባራት) እነዚህ ተግባራት የሚከተሉትን ያካትታሉ፡- VCI_FindUsbDevice2 VCI_UsbDeviceReset። በሁለተኛው እድገት ወቅት, እነዚህ ተግባራት የግድ መጥራት የለባቸውም. እነዚህ ተግባራት እንኳን ችላ ተብለዋል, ሁሉም የዩኤስቢ-CAN አስማሚ ተግባራት ሊሳኩ ይችላሉ.
www.waveshare.com
www.waveshare.com/wiki
ሰነዶች / መርጃዎች
![]() |
WAVESHARE USB-CAN የአውቶቡስ ኢንተር ፊት አስማሚ በይነገጽ ተግባር ቤተ መጻሕፍት [pdf] መመሪያ መመሪያ የዩኤስቢ-CAN አውቶቡስ ኢንተር ፊት አስማሚ በይነገጽ ተግባር ቤተ መፃህፍት፣ ዩኤስቢ-CAN፣ የአውቶቡስ ኢንተር ፊት አስማሚ በይነገጽ ተግባር ቤተ መፃህፍት፣ የበይነገጽ ተግባር ቤተ መፃህፍት፣ የተግባር ቤተ መፃህፍት |