ការគាំទ្រ Python សម្រាប់កម្មវិធីផលិតផល FTDI

គោលបំណងនៃកំណត់សម្គាល់បច្ចេកទេសនេះគឺដើម្បីបង្ហាញពីរបៀបប្រើប្រាស់កម្មវិធី Python ជាមួយផលិតផល FTDI ។

ការប្រើប្រាស់ឧបករណ៍ FTDI នៅក្នុងជំនួយជីវិត និង/ឬកម្មវិធីសុវត្ថិភាពគឺស្ថិតក្នុងហានិភ័យរបស់អ្នកប្រើប្រាស់ទាំងស្រុង ហើយអ្នកប្រើប្រាស់យល់ព្រមការពារ សងការខូចខាត និងរក្សាទុក FTDI ដោយមិនបង្កគ្រោះថ្នាក់ពីការខូចខាត ការទាមទារ ការប្តឹងផ្តល់ ឬការចំណាយដែលបណ្តាលមកពីការប្រើប្រាស់បែបនេះ។

សេចក្តីផ្តើម

Python is commonly used for software development, task automation, data analysis, etc. Since it is relatively easy to learn its popularity is increasing.
កំណត់សម្គាល់បច្ចេកទេសនេះបង្ហាញពីវិធីដែលកម្មវិធី Python អាចត្រូវបានប្រើដោយផលិតផល FTDI ដែលពឹងផ្អែកលើស្តង់ដាររបស់ FTDI កម្មវិធីបញ្ជា VCP or អ្នកបើកបរ D2xx.
វាក៏មានបណ្ណាល័យ python ភាគីទីបីជាច្រើនបានលេចឡើង ហើយទាំងនេះក៏ត្រូវបានរាយបញ្ជីនៅទីនេះផងដែរ។
ការគាំទ្រ Python ក៏មានសម្រាប់ FT600/1 ICs ដែលប្រើកម្មវិធីបញ្ជា D3xx ប៉ុន្តែមិនត្រូវបានគ្របដណ្តប់នៅក្នុងឯកសារនេះទេ។ សូមមើលទំព័រផលិតផលសម្រាប់ IC ទាំងនេះសម្រាប់ព័ត៌មានបន្ថែម។

តើកម្មវិធី Python គឺជាអ្វី?

Python កំពុងក្លាយជាភាសាសរសេរកម្មវិធីដ៏ពេញនិយម។
វា​អាច​ត្រូវ​បាន​ប្រើ​សម្រាប់​ការ​បង្កើត​គំរូ​យ៉ាង​រហ័ស ឬ​សម្រាប់​ការ​អភិវឌ្ឍ​កម្មវិធី​ដែល​ត្រៀម​ខ្លួន​ជា​ស្រេច។
វាដំណើរការលើវេទិកាផ្សេងៗគ្នា (ឧ. Windows, MacOS, Linux ។ល។) និងមានវាក្យសម្ព័ន្ធសាមញ្ញដូចជាភាសាអង់គ្លេស។ វាក្យសម្ព័ន្ធនេះអនុញ្ញាតឱ្យអ្នកអភិវឌ្ឍន៍សរសេរកម្មវិធីដែលមានបន្ទាត់តិចជាងភាសាសរសេរកម្មវិធីមួយចំនួនផ្សេងទៀត។
Python ដំណើរការលើប្រព័ន្ធអ្នកបកប្រែ មានន័យថាកូដអាចត្រូវបានប្រតិបត្តិភ្លាមៗនៅពេលដែលវាត្រូវបានសរសេរ ដែលមានន័យថា គំរូគំរូអាចលឿនណាស់។
មានធនធានជាច្រើននៅលើអ៊ីនធឺណិតសម្រាប់ Python ដោយវាជាចម្បង webគេហទំព័រ៖ https://www.python.org/

ការគាំទ្រកម្មវិធីបញ្ជា Python

ផ្នែកនេះលម្អិតអំពីរបៀបប្រើកម្មវិធីបញ្ជា VCP និង D2xx របស់ FTDI ជាមួយនឹងកម្មវិធី Python ។

VCP

ផ្នែកនេះមានអតីតសាមញ្ញampដើម្បីបើកច្រក COM ដោយប្រើកម្មវិធីបញ្ជា VCP បង្ហាញច្រក COM ដែលបើកទៅអេក្រង់ហើយបន្ទាប់មកផ្ញើនិងទទួលតួអក្សរពីរបីទៅច្រកដែលបើកហើយបង្ហាញវានៅលើអេក្រង់។ លទ្ធផលពីកូដត្រូវបានបង្ហាញខាងក្រោម។ ចំណាំថាខ្សែ FTDI ជាមួយ TX ទៅ RX loopback ត្រូវបានប្រើសម្រាប់ការធ្វើតេស្តសាមញ្ញ។

បញ្ជីកូដត្រូវបានរកឃើញនៅក្នុង ឧបសម្ព័ន្ធ C – Serialtest.py ។
ដើម្បីដំណើរការកូដនេះ អ្នកនឹងត្រូវដំឡើងបណ្ណាល័យ pyserial។ អ្នកអាចធ្វើវាបានដោយដំណើរការពាក្យបញ្ជាខាងក្រោមនៅក្នុងស្ថានីយរបស់អ្នក៖
pip ដំឡើង pyserial
នៅពេលដែលបណ្ណាល័យ pyserial ត្រូវបានដំឡើង អ្នកអាចដំណើរការកូដដោយរក្សាទុកវាជា .py file ហើយបន្ទាប់មកដំណើរការពាក្យបញ្ជាខាងក្រោមនៅក្នុងស្ថានីយរបស់អ្នក៖
របស់អ្នកfileឈ្មោះ.py

D2xx

ផ្នែកនេះមាន ex សាមញ្ញពីរamples ដែលប្រើ APIs មូលដ្ឋាន D2xx ។

  • ទទួលបានលេខច្រក COM
  •  ទទួលបានព័ត៌មានលម្អិតអំពីឧបករណ៍

យោងទៅ មគ្គុទ្ទេសក៍អ្នកសរសេរកម្មវិធី D2XX សម្រាប់ព័ត៌មានបន្ថែមអំពី APIs ទាំងនេះ។

ទទួលបាន COM Port Numbe

អតីតសាមញ្ញនេះ។ample ផ្ទុកបណ្ណាល័យ d2xx បើកឧបករណ៍ FTDI ដំបូងដែលបានរកឃើញ រកឃើញច្រក COM
លេខដោយប្រើ FT_GetComPortNumber ហើយបន្ទាប់មកបិទវា។
បញ្ជីកូដត្រូវបានរកឃើញនៅក្នុង ឧបសម្ព័ន្ធ D– GetComPortNumber.py ។
នៅពេលដំណើរការលទ្ធផលមើលទៅដូចនេះ៖

ទទួលបានព័ត៌មានលម្អិតអំពីឧបករណ៍
អតីតសាមញ្ញនេះ។ample ផ្ទុកបណ្ណាល័យ d2xx ហើយប្រើ FT_Create Device Info List និង FT_Get Device Info Detail ដើម្បីទទួលបានព័ត៌មានលម្អិតអំពីឧបករណ៍ FTDI និងរាយបញ្ជីពួកគេ។
បញ្ជីកូដត្រូវបានរកឃើញនៅក្នុង ឧបសម្ព័ន្ធ E – GetDeviceInfoDetail.py ។
នៅពេលដំណើរការលទ្ធផលមើលទៅដូចនេះ៖

ភាគីទីបី Python Examples

មានបណ្ណាល័យភាគីទីបីជាច្រើន និង ឧamples លេចឡើងនៅពេលដែលប្រជាប្រិយភាពភាសាសរសេរកម្មវិធីបានពង្រីក ខ្លះត្រូវបានរាយបញ្ជីនៅទីនេះ ប៉ុន្តែអាចត្រូវបានរកឃើញបន្ថែមទៀត។

PyUSB

PyUSB ផ្តល់ភាពងាយស្រួលក្នុងការចូលទៅកាន់ប្រព័ន្ធ Universal Serial Bus (USB) របស់ម៉ាស៊ីនម៉ាស៊ីនសម្រាប់ Python 3។
PyUSB គឺជា API ដ៏សំបូរបែប ម៉ូឌុល USB Python អព្យាក្រឹត backend ងាយស្រួលប្រើ។ https://pyusb.github.io/pyusb/

pylibftdi

សូមចំណាំថាវាប្រើ libftdi ដែលមិនមែនជាកម្មវិធីបញ្ជាដែលគាំទ្រ FTDI ទោះយ៉ាងណាក៏ដោយអាចត្រូវបានប្រើដើម្បីគ្រប់គ្រងឧបករណ៍ FTDI ។
pylibftdi គឺជាចំណុចប្រទាក់ Pytonic តិចតួចបំផុតចំពោះឧបករណ៍ FTDI ។ https://pypi.org/project/pylibftdi/

PyFtdi

PyFtdi មានគោលបំណងផ្តល់នូវកម្មវិធីបញ្ជាទំហំអ្នកប្រើប្រាស់សម្រាប់ឧបករណ៍ FTDI ដ៏ពេញនិយម ដែលត្រូវបានអនុវត្តជាភាសា Python សុទ្ធ។
https://pypi.org/project/pyftdi/

អាដាហ្វរ

Adafruit បានបង្កើតការណែនាំដើម្បីបង្ហាញពីរបៀបប្រើ FT232H ដើម្បីភ្ជាប់ទៅឧបករណ៍ចាប់សញ្ញា I2C និង SPI និងការដាច់ចេញពីកុំព្យូទ័រលើតុរបស់អ្នកដែលដំណើរការ Windows, Mac OSX ឬ Linux ។
https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h

ftdi-python

អតីតample បង្ហាញពីវិធីសាស្រ្តមួយជំហានម្តងមួយៗក្នុងការបើកបរ FTDI ICs ពី Python ដើម្បីស្វែងយល់អំពីមុខងាររបស់វា។
https://iosoft.blog/ftdi-python/

ftd2xx ctypes Wrapper

ftd2xx គឺជាឧបករណ៍រុំ python សាមញ្ញជុំវិញ D2XX DLL ពី FTDI ដោយប្រើ ctypes ។ https://pypi.org/project/ftd2xx/

python-ft4222

អតីតample ផ្តល់នូវការភ្ជាប់ python ទៅ LibFT4222 ដែលត្រូវតែប្រើជាមួយ FT4222H IC និងផ្តល់នូវ API ស្រដៀងគ្នាទៅនឹង LibFT4222។ https://pypi.org/project/ft4222/

សេចក្តីសន្និដ្ឋាន

កំណត់សម្គាល់បច្ចេកទេសនេះបង្ហាញពីរបៀបប្រើកម្មវិធី Python ជាមួយផលិតផល FTDI ជាមួយកម្មវិធីបញ្ជា VCP និង D2xx ហើយបានរាយបញ្ជីអតីតភាគីទីបីមួយចំនួនamples ។

ព័ត៌មានទំនាក់ទំនង

ការិយាល័យកណ្តាល - Glasgow ចក្រភពអង់គ្លេស
Future Technology Devices International Limited (UK)
បន្ទប់ 1, 2 Seaward Place, Centurion Business Park Glasgow G41 1HH United Kingdom
ទូរស័ព្ទ៖ +44 (0) 141 429 2777
ទូរសារ៖ +44 (0) 141 429 2758

អ៊ីមែល (លក់) sales1@ftdichip.com
អ៊ីមែល (ជំនួយ) support1@ftdichip.com
អ៊ីមែល (សំណួរទូទៅ) admin1@ftdichip.com

ការិយាល័យសាខា - តៃប៉ិ តៃវ៉ាន់

Future Technology Devices International Limited (តៃវ៉ាន់)
2F, លេខ 516, វិ។ 1, ផ្លូវ NeiHu
តៃប៉ិ ១១៤
តៃវ៉ាន់, ROC
ទូរស័ព្ទ៖ +886 (0) 2 8797 1330
ទូរសារ៖ +886 (0) 2 8751 9737

អ៊ីមែល (លក់) tw.sales1@ftdichip.com
អ៊ីមែល (ជំនួយ) tw.support1@ftdichip.com
អ៊ីមែល (សំណួរទូទៅ) tw.admin1@ftdichip.com

ការិយាល័យសាខា - Tigard រដ្ឋ Oregon សហរដ្ឋអាមេរិក
Future Technology Devices International Limited (USA)
7130 SW Fir Loop
Tigard ឬ 97223-8160
សហរដ្ឋអាមេរិក
ទូរស័ព្ទ៖ +1 (503) 547 0988
ទូរសារ៖ +1 (503) 547 098

អ៊ីមែល (លក់) us.sales@ftdichip.com
អ៊ីមែល (ជំនួយ) us.support@ftdichip.com
អ៊ីមែល (សំណួរទូទៅ) us.admin@ftdichip.com

ការិយាល័យសាខា - សៀងហៃ ប្រទេសចិន

Future Technology Devices International Limited (ចិន)
បន្ទប់ 1103, លេខ 666 West Huaihai Road, Shanghai, 200052 ប្រទេសចិន
ទូរស័ព្ទ៖ +86 (21) 62351596
ទូរសារ៖ +86 (21) 62351595
អ៊ីមែល (លក់) cn.sales@ftdichip.com
អ៊ីមែល (ជំនួយ) cn.support@ftdichip.com
អ៊ីមែល (សំណួរទូទៅ) cn.admin@ftdichip.c

Web គេហទំព័រ http://ftdichip.com

តំណាងចែកចាយ និងលក់
សូមចូលទៅកាន់ទំព័របណ្តាញលក់របស់ FTDI Web គេហទំព័រ សម្រាប់ព័ត៌មានលម្អិតទំនាក់ទំនងរបស់អ្នកចែកចាយ និងអ្នកតំណាងផ្នែកលក់របស់យើងនៅក្នុងប្រទេសរបស់អ្នក។

ក្រុមហ៊ុនផលិត និងអ្នករចនាប្រព័ន្ធ និងឧបករណ៍ ទទួលខុសត្រូវក្នុងការធានាថា ប្រព័ន្ធរបស់ពួកគេ និងឧបករណ៍ Future Technology Devices International Ltd (FTDI) ដែលត្រូវបានបញ្ចូលក្នុងប្រព័ន្ធរបស់ពួកគេ បំពេញតាមតម្រូវការសុវត្ថិភាព និយតកម្ម និងកម្រិតប្រព័ន្ធដែលអាចអនុវត្តបាន។ ព័ត៌មានដែលទាក់ទងនឹងកម្មវិធីទាំងអស់នៅក្នុងឯកសារនេះ (រួមទាំងការពិពណ៌នាកម្មវិធី ឧបករណ៍ FTDI ដែលបានស្នើ និងសម្ភារៈផ្សេងទៀត) ត្រូវបានផ្តល់ជូនសម្រាប់ជាឯកសារយោងតែប៉ុណ្ណោះ។ ខណៈពេលដែល FTDI បានយកចិត្តទុកដាក់ក្នុងការធានាថាវាមានភាពសុក្រឹតនោះ ព័ត៌មាននេះគឺស្ថិតនៅក្រោមការបញ្ជាក់របស់អតិថិជន ហើយ FTDI បដិសេធការទទួលខុសត្រូវទាំងអស់សម្រាប់ការរចនាប្រព័ន្ធ និងសម្រាប់ជំនួយកម្មវិធីណាមួយដែលផ្តល់ដោយ FTDI ។ ការប្រើប្រាស់ឧបករណ៍ FTDI នៅក្នុងកម្មវិធីជំនួយអាយុជីវិត និង/ឬកម្មវិធីសុវត្ថិភាពគឺស្ថិតក្នុងហានិភ័យរបស់អ្នកប្រើប្រាស់ទាំងស្រុង ហើយអ្នកប្រើប្រាស់យល់ព្រមការពារ សងការខូចខាត និងរក្សាទុក FTDI ដែលគ្មានគ្រោះថ្នាក់ពីការខូចខាត ការទាមទារ ការប្តឹងផ្តល់ ឬការចំណាយដែលបណ្តាលមកពីការប្រើប្រាស់បែបនេះ។ ឯកសារនេះអាចផ្លាស់ប្តូរដោយមិនមានការជូនដំណឹងជាមុន។ គ្មានសេរីភាពក្នុងការប្រើប្រាស់ប៉ាតង់ ឬសិទ្ធិកម្មសិទ្ធិបញ្ញាផ្សេងទៀត ត្រូវបានបង្ហាញដោយការបោះពុម្ពឯកសារនេះ។ ទាំងទាំងមូល ឬផ្នែកណាមួយនៃព័ត៌មានដែលមាននៅក្នុង ឬផលិតផលដែលបានពិពណ៌នានៅក្នុងឯកសារនេះ មិនអាចកែប្រែ ឬផលិតឡើងវិញក្នុងទម្រង់សម្ភារៈ ឬអេឡិចត្រូនិកដោយគ្មានការយល់ព្រមជាលាយលក្ខណ៍អក្សរជាមុនពីម្ចាស់កម្មសិទ្ធិបញ្ញាឡើយ។ Future Technology Devices International Ltd, Unit 1, 2 Seaward Place, Centurion Business Park, Glasgow G41 1HH, United Kingdom។ លេខក្រុមហ៊ុនចុះបញ្ជីស្កុតឡែន៖ SC136640។

ឧបសម្ព័ន្ធ A - ឯកសារយោង

ឯកសារយោង

អ្នកបើកបរ D2xx
កម្មវិធីបញ្ជា VCP
https://www.python.org/
មគ្គុទ្ទេសក៍អ្នកសរសេរកម្មវិធី D2XX
https://pyusb.github.io/pyusb/
https://pypi.org/project/pylibftdi/
https://pypi.org/project/pyftdi/
https://learn.adafruit.com/circuitpython-on-any-computer-with-ft232h
https://iosoft.blog/ftdi-python/
https://pypi.org/project/ftd2xx/
https://pypi.org/project/ft4222/
libftdi

អក្សរកាត់និងអក្សរកាត់

លក្ខខណ្ឌ ការពិពណ៌នា
API ចំណុចប្រទាក់កម្មវិធីកម្មវិធី
IC សៀគ្វីរួមបញ្ចូលគ្នា
យូអេសប៊ី សកល Se
VCP ច្រក COM និម្មិត

ឧបសម្ព័ន្ធ ខ - បញ្ជីតារាង និងតួលេខ

បញ្ជីតារាង

គ្មាន

បញ្ជីនៃតួលេខ

រូបភាពទី 1 – រូបសញ្ញា Python …………………………………………………………………………………………… 5

ឧបសម្ព័ន្ធ C – Serialtest.py

នាំចូលស៊េរី
ពេលវេលានាំចូល
# កំណត់លេខច្រក COM
portName = 'COM7'
# កំណត់អត្រា baud
baudRate = 115200
# បើកច្រកសៀរៀល
ព្យាយាម៖
ser = serial.Serial(portName, baudRate)
print('បើកច្រក COM:' + portName)
លើកលែងតែ៖
បោះពុម្ព ("ករណីលើកលែងមួយបានកើតឡើង")

# ផ្ញើ 'ជំរាបសួរ' ដើម្បីចាប់ផ្តើមកម្មវិធី
ser.write(b'Hello')
time.sleep (1)
# អានបន្ទាត់
read_data = ser.read(5)
បោះពុម្ព("ទិន្នន័យបានទទួល៖" + str(អាន_ទិន្នន័យ))
# បិទច្រកសៀរៀល
ser.close

ឧបសម្ព័ន្ធ D– GetComPortNumber.py

#!/usr/bin/env python
នាំចូល os
នាំចូល sys
នាំចូល ctypes
###################################################################
# និយមន័យ D2XX
def check(f):
ប្រសិនបើ f != 0:
ឈ្មោះ = [
“FT_OK”,
“FT_INVALID_HANDLE”,
“FT_DEVICE_NOT_FOUND”,
“FT_DEVICE_NOT_OPENED”,
“FT_IO_ERROR”,
“FT_INSUFFICIENT_RESOURCES”,
“FT_INVALID_PARAMETER”,
“FT_INVALID_BAUD_RATE”,
“FT_DEVICE_NOT_OPENED_FOR_ERASE”,
“FT_DEVICE_NOT_OPENED_FOR_WRITE”,
“FT_FAILED_TO_WRITE_DEVICE”,
“FT_EEPROM_READ_FAILED”,
“FT_EEPROM_WRITE_FAILED”,
“FT_EEPROM_ERASE_FAILED”,
“FT_EEPROM_NOT_PRESENT”,
“FT_EEPROM_NOT_PROGRAMMED”,
“FT_INVALID_ARGS”,
“FT_NOT_SUPPORTED”,
“FT_OTHER_ERROR”] បង្កើន IOError(“កំហុស៖ (ស្ថានភាព %d: %s)” % (f, names[f]))
###################################################################
# កម្មវិធីសំខាន់
#
# អនុវត្ត GetComPortNumber សាមញ្ញample ពីមគ្គុទ្ទេសក៍អ្នកសរសេរកម្មវិធី D2XX ។

ថ្នាក់ D2XXTest (វត្ថុ):
def __init __ (ខ្លួនឯង)៖
# ផ្ទុកកម្មវិធីបញ្ជាប្រព័ន្ធគោលពីរ
ប្រសិនបើ sys.platform.startswith('linux'):
self.d2xx = ctypes.cdll.LoadLibrary(“libftd2xx.so”)
elif sys.platform.startswith('darwin'):
self.d2xx = ctypes.cdll.LoadLibrary(“libftd2xx.1.1.0.dylib”)
ផ្សេងទៀត៖
self.d2xx = ctypes.windll.LoadLibrary(“ftd2xx”)
បោះពុម្ព 'បណ្ណាល័យ D2XX ផ្ទុក យល់ព្រម'
បោះពុម្ព
sys.stdout.flush()
self.getCom()
def getCom (ខ្លួនឯង)៖
#បង្កើតអថេរ FT Handle
self.ftHandle = ctypes.c_void_p()
# បើកឧបករណ៍ដំបូងនៅលើប្រព័ន្ធ
ពិនិត្យ(self.d2xx.FT_Open(0, ctypes.byref(self.ftHandle)))
# com លេខច្រកអថេរ
lComPortNumber = ctypes.c_long()
# ទាញយក com # ជាមួយ FT_GetComPortNumber
ពិនិត្យ(self.d2xx.FT_GetComPortNumber(self.ftHandle,
ctypes.byref(lComPortNumber)))
ប្រសិនបើ lComPortNumber.value == -1:
បោះពុម្ព "គ្មានច្រក Com បានកំណត់"
ផ្សេងទៀត៖
បោះពុម្ព “Com Port Number: %d” % (lComPortNumber.value)
#call FT_Close ដើម្បីបិទការតភ្ជាប់
ពិនិត្យ(self.d2xx.FT_Close(self.ftHandle))
ប្រសិនបើ __name__ == '__main__':
បោះពុម្ព "===== Python D2XX ទទួលបានច្រក Com ====="
បោះពុម្ព
កម្មវិធី = D2XXTest()

ឧបសម្ព័ន្ធ E – GetDeviceInfoDetail.py

#!/usr/bin/env python
នាំចូល os
នាំចូល sys
នាំចូល ctypes
###################################################################
# និយមន័យ D2XX
def check(f):
ប្រសិនបើ f != 0:
ឈ្មោះ = [
“FT_OK”,
“FT_INVALID_HANDLE”,
“FT_DEVICE_NOT_FOUND”,
“FT_DEVICE_NOT_OPENED”,
“FT_IO_ERROR”,
“FT_INSUFFICIENT_RESOURCES”,
“FT_INVALID_PARAMETER”,
“FT_INVALID_BAUD_RATE”,
“FT_DEVICE_NOT_OPENED_FOR_ERASE”,
“FT_DEVICE_NOT_OPENED_FOR_WRITE”,
“FT_FAILED_TO_WRITE_DEVICE”,
“FT_EEPROM_READ_FAILED”,
“FT_EEPROM_WRITE_FAILED”,
“FT_EEPROM_ERASE_FAILED”,
“FT_EEPROM_NOT_PRESENT”,
“FT_EEPROM_NOT_PROGRAMMED”,
“FT_INVALID_ARGS”,
“FT_NOT_SUPPORTED”,
“FT_OTHER_ERROR”] បង្កើន IOError(“កំហុស៖ (ស្ថានភាព %d: %s)” % (f, names[f]))
###################################################################
# កម្មវិធីសំខាន់

###***** ប្រហែលជាបន្ថែមប៊ូឡុងសម្រាប់ប្រព័ន្ធប្រតិបត្តិការ ដូច្នេះនៅពេលអ្នកព្យាយាមបើកឧបករណ៍ អ្នកអាចធ្វើវាបានត្រឹមត្រូវសម្រាប់ប្រព័ន្ធប្រតិបត្តិការត្រឹមត្រូវ។ លីនុចមិនអាចប្រើលិបិក្រមដើម្បីបើក (?) ពិនិត្យ linux exampប្រហែលជា?
ថ្នាក់ D2XXTest (វត្ថុ):
def __init __ (ខ្លួនឯង)៖
# ផ្ទុកកម្មវិធីបញ្ជាប្រព័ន្ធគោលពីរ
ប្រសិនបើ sys.platform.startswith('linux'):
self.d2xx = ctypes.cdll.LoadLibrary(“libftd2xx.so”)
elif sys.platform.startswith('darwin'):
self.d2xx = ctypes.cdll.LoadLibrary(“libftd2xx.1.1.0.dylib”)
ផ្សេងទៀត៖
self.d2xx = ctypes.windll.LoadLibrary(“ftd2xx”)
បោះពុម្ព “បណ្ណាល័យ D2XX បាន​ផ្ទុក​យល់ព្រម\n”
sys.stdout.flush()
#ហៅទៅអតីតampមុខងារ
self.getDevInfoList()
def getDevInfoList (ខ្លួនឯង)៖
# ប្រកាសអថេរដែលត្រូវការនៅក្នុងមុខងារ
numDevs = ctypes.c_long()
ពិនិត្យ(self.d2xx.FT_CreateDeviceInfoList(ctypes.byref(numDevs)))
បោះពុម្ព “ចំនួនឧបករណ៍គឺ៖ %d” % (numDevs.value)
# ប្រសិនបើយ៉ាងហោចណាស់មានឧបករណ៍មួយបានភ្ជាប់
ប្រសិនបើ numDevs.value > 0:
#ទទួលបានព័ត៌មានឧបករណ៍សម្រាប់ឧបករណ៍ទាំងអស់នៅលើប្រព័ន្ធ
សម្រាប់ខ្ញុំក្នុងជួរ (numDevs.value):
#បង្កើតអថេរ FT Handle
ftHandleTemp = ctypes.c_long()
ទង់ = ctypes.c_long()
លេខសម្គាល់ = ctypes.c_long()
ប្រភេទ = ctypes.c_long()
LocId = ctypes.c_long()
លេខស៊េរី = ctypes.create_string_buffer(16)
ការពិពណ៌នា = ctypes.create_string_buffer(64)

# ហៅមុខងារ GetDeviceInfoDetail ដើម្បីទទួលបានឧបករណ៍

ព័ត៌មានលម្អិត
ពិនិត្យ(self.d2xx.FT_GetDeviceInfoDetail(i,
ctypes.byref(Flags),ctypes.byref(Type), ctypes.byref(ID), ctypes.byref(LocId),
ctypes.byref(SerialNumber), ctypes.byref(ពិពណ៌នា), ctypes.byref(ftHandleTemp)))
# បោះពុម្ពព័ត៌មានលម្អិតឧបករណ៍
self.printDetails(i,Flags.value, Type.value, ID.value,
LocId.value, SerialNumber.value, Description.value, ftHandleTemp.value)
ផ្សេងទៀត៖
#ប្រសិនបើគ្មានឧបករណ៍ចេញពីកម្មវិធី
sys.exit()
def printDetails(self,dev,flags,ty,i_d,locid,serial,desc,handle)៖
បោះពុម្ព “Dev: %d” % (dev)
បោះពុម្ព “ទង់ = 0x%x” % (ទង់)
បោះពុម្ព ” Type=0x%x” % (ty)
បោះពុម្ព ” ID=0x%x” % (i_d)
បោះពុម្ព ” LocId = 0x%x” % (locid)
បោះពុម្ព “លេខសៀរៀល=%s” % (សៀរៀល)
បោះពុម្ព ” Description=%s” % (desc)
បោះពុម្ព ” ftHandle = 0x%s” % (ចំណុចទាញ)
ប្រសិនបើ __name__ == '__main__':
បោះពុម្ព “===== Python D2XX ទទួលបានព័ត៌មានលម្អិតអំពីឧបករណ៍ =====\n”
កម្មវិធី = D2XXTest()

ឧបសម្ព័ន្ធ F - ប្រវត្តិនៃការពិនិត្យឡើងវិញ

ចំណងជើងឯកសារ៖ TN_187 ការគាំទ្រ Python សម្រាប់ផលិតផល FTDI
ឯកសារយោងលេខ៖ FT_001561
លេខបោសសំអាត៖ FTDI #590
ទំព័រផលិតផល៖ https://ftdichip.com/product-category/products/ic/
មតិកែលម្អឯកសារ៖ ផ្ញើមតិកែលម្អ

សេវាអតិថិជន

ទំព័រផលិតផល
មតិកែលម្អឯកសារ
រក្សាសិទ្ធិ © Future Technology Devices International Limited Future Technology Devices International Limited (FTDI) Unit 1, 2 Seaward Place, Glasgow G41 1HH, United Kingdom
ទូរស័ព្ទ៖ +44 (0) 141 429 2777 ទូរសារ៖ +44 (0) 141 429 2758
Web គេហទំព័រ៖ http://ftdichip.com
រក្សាសិទ្ធិ © Future Technology Devices International Limited

ឯកសារ/ធនធាន

ការគាំទ្រ FTDI Python សម្រាប់កម្មវិធីផលិតផល FTDI [pdf] ការណែនាំអ្នកប្រើប្រាស់
FT4222H, ការគាំទ្រ Python សម្រាប់កម្មវិធីផលិតផល FTDI, ការគាំទ្រសម្រាប់កម្មវិធីផលិតផល FTDI, កម្មវិធីផលិតផល FTDI, កម្មវិធី

ឯកសារយោង

ទុកមតិយោបល់

អាសយដ្ឋានអ៊ីមែលរបស់អ្នកនឹងមិនត្រូវបានផ្សព្វផ្សាយទេ។ វាលដែលត្រូវការត្រូវបានសម្គាល់ *