libftdi是一个用以跟FTDI的FT232/245BM,FT2232C/D,和FT232/245R类型芯片通讯的开发包,包括使用libusb的bitbag模式。该库在用户空间和程序进行链接,无需内核驱动。
因为libusb的帮助,libftdi可以很好的支持Widows、Liux、BSD和Mac系统。
示例代码:
/*simple.cSimplelibftdiusageexampleThisprogramisdistributedudertheGPL,versio2*/#iclude<stdio.h>#iclude<stdlib.h>#iclude<ftdi.h>itmai(void){itret;structftdi_cotext*ftdi;structftdi_versio_ifoversio;if((ftdi=ftdi_ew())==0){fpritf(stderr,"ftdi_ewfailed\");returEXIT_FAILURE;}versio=ftdi_get_library_versio();pritf("Iitializedlibftdi%s(major:%d,mior:%d,micro:%d,sapshotver:%s)\",versio.versio_str,versio.major,versio.mior,versio.micro,versio.sapshot_str);if((ret=ftdi_usb_ope(ftdi,0x0403,0x6001))<0){fpritf(stderr,"uabletoopeftdidevice:%d(%s)\",ret,ftdi_get_error_strig(ftdi));ftdi_free(ftdi);returEXIT_FAILURE;}//ReadoutFTDIChip-IDofRtypechipsif(ftdi->type==TYPE_R){usigeditchipid;pritf("ftdi_read_chipid:%d\",ftdi_read_chipid(ftdi,&chipid));pritf("FTDIchipid:%X\",chipid);}if((ret=ftdi_usb_close(ftdi))<0){fpritf(stderr,"uabletocloseftdidevice:%d(%s)\",ret,ftdi_get_error_strig(ftdi));ftdi_free(ftdi);returEXIT_FAILURE;}ftdi_free(ftdi);returEXIT_SUCCESS;}
评论