EasyUSB

Kattintson a képre nagyobb mérethez

EasyUSB jellemzői

Jumper beállítások

Az RxD és CTS bemenetek lebegnek, ha a jumpert eltávolítjuk. Az EasyUSB tartalmaz fel és lehúzó ellenállásokat az RxD és CTS vonalakhoz.

RxD felhúzóellenállás aktív (alapértelmezett)
RxD lehúzóellenállás aktív
CTS lehúzóellenállás aktív (alapértelmezett)
CTS felhúzóellenállás aktív

LED visszajelzés

8 LED van az EasyUSB-n. 6 sárga LED jelzi a P0-P5 állapotát. A sárga visszajelző LED-ek akkor világítanak, ha a neki megfelelő vonal (P0-P5) magas szinten van. P6 és P7 RX/TX aktivitás visszajelző LED-ként is konfigurálható, az RX/TX visszajelző LED-ek azonban invertált módon jelez, tehát P6 és P7 (RX és TX) akkor világít, ha a vonal alacsony szinten van. Ez a két LED zöld színű.

Letöltések

Python forráskód

Először hozzon létre egy "easyusb" mappát a C meghajtón és másolja be a SimpleIO-UM.dll -t a mappába. Ezt a fájlt a MCP2200_DLL_2013-01-28.zip-ben találja. Ez a kód a 32 bites Python3.x alatt működik. A SimpleIO-UM.dll nem támogatja a 64 bites DLL függvényhívásokat. Ez nem probléma, a 32 bites rendszerre írt programok futnak 64 bites rendszer alatt is.

 from ctypes import *
 mydll=windll.LoadLibrary("C:\\easyusb\\SimpleIO-UM.dll")
 mydll.InitMCP2200(0x4d8,0x00df)
 mydll.ConfigureMCP2200(0,9600,0,0,False,False, False, False)

 mydll.SetPin(1)
		

A fenti kód létrehozza a kapcsolatot az MCP2200-al az InitMCP2200 függvényhíváson keresztül. A függvénynek két argumentuma van: VendorID és ProductID. Ezeket a Microchip megadja. A következő lépés az IO vonalak konfigurációja, baudráta beállítása, stb. SetPin(1) függvényhívás P1 vonalat magas szintre állítja. A MCP2200 adatlap 2.3 fejezetében további részleteket talál a programozásról. A legfontosabb függvények: InitMCP2200, ConfigureMCP2200, SetPin, ClearPin, ReadPortValue, WritePort(portValue), ReadPinValue(pinnumber).

LED villogtató példaprogram

 from ctypes import *
 from time import sleep

 mydll=windll.LoadLibrary ("C:\\easyusb\\SimpleIO-UM.dll")
 mydll.InitMCP2200(0x4d8,0x00df)
 mydll.ConfigureMCP2200(0,9600,0,0,False,False, False, False)

 while True:
     mydll.SetPin(2)
     sleep(0.5)
     mydll.ClearPin(2)
     sleep(0.5)
  	

Lazarus példa

Bemutatok egy ennél komplexebb példát is, melyet Lazarusban (Delphihez hasonló Pascal kód) írtam. Letölthető innen.
Ez a kód csak 32 bites Lazarus alatt fut. A 32 BITES LAZARUS-t MŰKÖDIK 64 BITES RENDSZEREN IS!!! A SimpleIO-UM.dll nem támogatja a 64 bites DLL függvényhívásokat, ezért nem fog működni 64 bites fejlesztőeszközben.