Notes on INF files
INF files are for INSTALLATION ONLY. After a particular device has been installed the inf file becomes redundant and changes to the inf file will
not affect the device.
By default the VCP driver for windows CE (ftdi_ser.dll) will work with devices of VID and PID 0x0403 and 0x6001.
If you require a different VID and PID device to work with this driver then you can use a INF file along with the driver. The INF file format is similar to the Windows INF file - the main difference being that it is an extremely cut down version.
On startup the driver will read the INF file (if it is present in the \Windows\ directory) and use the settings you provide.
NOTE: YOU MUST NOT CHANGE THE GENERAL FORMAT OF THE INF FILE - DOING THIS COULD CAUSE YOUR INSTALLATION TO HALT THE DEVICE AND THEREFORE REQUIRE
A REBOOT. BEFORE PERFORMING THE FOLLOWING PROCEDURE IT IS RECOMMENDED YOU BACK UP ALL ESSENTIAL DATA.
The main section you must alter in the INF file (FTDIPORT.INF - DO NOT CHANGE THIS NAME OR THE DRIVER WILL NOT RECOGNISE IT)
[FtdiHw]
"FTDI VCP"=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6010
change the 4 digits after the underscore to input custom VID and PIDs. You MUST keep the length of the number to 4 digits so for example if your PID is hex 0x0023 (35 decimal) you must have the following entry in the INF file
[FtdiHw]
"FTDI VCP"=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_0023
The INF file now supports multiple VID and PIDs - if you want to install 2 devices with different VIDs and PIDs you can have the following entry in the INF file:
[FtdiHw]
%VID_0403&PID_6001.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6001
%VID_0403&PID_6010.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6010
%VID_0403&PID_6011.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6011
%VID_0403&PID_6012.DeviceDesc%=FtdiPort232,FTDIBUS\COMPORT&VID_0403&PID_6012
[FtdiPort232.NT.HW.AddReg]
HKR,,"Prefix",0x00010000,"COM"
HKR,,"LatencyTimer",0x00010001,16
HKR,,"InitialIndex",0x00010001,0
HKR,,"EmulationMode",0x00010001,8360
HKR,,"ConfigData",1,01,00,3F,3F,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,d0,80
Additional Settings
"LatencyTimer" - this sets the latency on an open (CreateFile) to a device - 1..255
HKR,,"LatencyTimer",0x00010001,25 - this will set the latency timer to 25
"InitialIndex" - this is the initial index that will be used for this COM device. Currently the driver will assign COM ports 0 to 9 but if you require
the COM port to start at 2 you could have the following setting in the INF file:
HKR,,"InitialIndex",0x00010001,2
HKR,,"ConfigDataFlags",0x00010001,33
ConfigDataFlags: bit 0: Ignore all set/clear DTR requests
bit 1: Ignore all set/clear RTS requests
bit 2: DTR initial state high (on open device)
bit 3: RTS initial state high (on open device)
bit 4: Ignore set DTR low on close device
bit 5: Ignore set RTS low on close device
So for example if you want all requests to DTR set or clear to be ignored and the initial state of DTR on open to be high use a ConfigDataFlags value of 5 decimal.
Aliasing of baud rate can be used to set a particular baud rate not supported by a legacy application. You in effect replace a standard baud rate for the one you require so the application calls set baud rate for say 9600 but your alias table has set this to 10000 therefore your com port will behave at 10000 baud. for more info please see app note "Configuring FT232BM Baud Rates"
Use the following setting in the INF file to allow for aliasing of baud rates.
HKR,,"ConfigData",1,01,00,3F,3F,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,d0,80
HKR,,"InTransferSize",0x00010001,64
HKR,,"OutTransferSize",0x00010001,4096
These 2 settings adjust the bulk transfer size. If you are having problems getting the driver to work(such as unable
to read from the port) - try setting the InTransfer size to 64 and working upwards in multiples of 64 to find a suitable value.
Under the [FTDI.NT.HW.AddReg] section of the INF file you can change the inner working of the driver threads using the following sections
HKR,,"BulkPriority",0x00010001,2 - sets the priority of the reading thread of the driver Valid range 0(High priority) to 7(Low priority). Setting this value may cause your hardware to stop functioning therefore take care when setting these values and backup any data you may need.
Need more com ports?
The method to increase COM ports is considered an advanced option. If you do not feel comfortable editing binary files then please contact suport with your request for additional ports and they can schedule a suitable release to you.
The default prefix of the VCP driver is COM - this means COM0: to COM9: can be used in your applications. However it as been noted that on some systems the COM port prefix has been used by other devices and you may therefore require additional COM ports. To allow this you must change the Prefix setting in the INF file. Remember the INF file will ONLY be read on initial installation and NOT any time after this.
HKR,,"Prefix",0x00010000,"COM"
In addition to changing the prefix value in the INF file prior to installing you must also change some entries in the supplied dll.
1. Open the dll in a binary text editor such as visual c++
2. Search for COM_Init.
3. Change the COM part to your own prefix so if you wanted a prefix MOC then COM_Init would become
MOC_Init.PLEASE MAKE SURE YOU DO NOT ADD ANY DATA TO THE DLL BY INSERTING CHARACTERS. OVERWRITE THE
COM PART - DO NOT INSERT.
4. do the same for the following entries
COM_Deinit
COM_Open
COM_Close
COM_Read
COM_Write
COM_Seek
COM_PowerDown
COM_PowerUp
COM_IOControl
5. Save the new dll.
Remember that now all your com ports will have your own unique prefix and you must use this instead to open the ports. For example if your prefix is MOC then you will use MOC0: to open port 0 and so on...
It is also important that you choose a prefix that does not clash with any other device to ensure you get the maximum 10 allowable ports.
Support for CF USB Host
A registry setting may be required to support CF host cards (for example the Ratoc REX-CFU1) the following registry setting should be used in this case
HKR,,"ConfigData",1,01,02,00,00,10,27,88,13,C4,09,E2,04,71,02,38,41,9c,80,4E,C0,34,00,1A,00,0D,00,06,40,03,80,00,00,d0,80
(bit 1 of the second byte of the configuration flag data).
Modem Emulation
As per application note AN232B-09 with the exception of using the decimal value instead of hexadecimal value for example HKR,,"EmulationMode",0x00010001,8360 will switch on DTR, DCD, RI and DSR emulation on. This is required to be placed in the \Drivers\USB\FTDI_DEVICE_XXXX\YYYYYYYY where YYYYYYYY is the device serial number or in the \Drivers\USB\FTDI_DEVICE_XXXX if the device has no serial number.
Active Sync Monitoring
Requests have been made to call the CeEventHasOccurred when certain modem lines change within the device.
This requires a separate thread of execution when the device is unopened. The following registry setting is required to turn on this functionality
HKR,,"ActiveSyncSetting",0x00010001,256128
The value corresponds to the following:
0xYYYYYYZZ where YYYYYY is the sleep value in milliseconds between checking for line status changes - a sensible value here is 1000ms. ZZ corresponds to which bit of the line status you want to monitor.
0x10 = CTS
0x20 = DTR
0x40 = RI
0x80 = DCD
Normally you would have a value of 0x80 here for DCD but you may require to change these.
Again the value in the registry/INF file must be in decimal.
Active sync monitoring only occurs when the device is plugged in and unopened. The driver does NOT monitor the lines and call CeEventHasOccurred if the device is opened and in use. Once the device has closed again the driver
USB转RS232串口的4种不同芯片驱动
5星 · 超过95%的资源 需积分: 48 147 浏览量
2008-12-03
09:15:29
上传
评论 6
收藏 6.79MB RAR 举报
pholo
- 粉丝: 0
- 资源: 1
最新资源
- 基于Android的EasyPad记事本应用设计源码
- 基于Apache Spark的Scala大数据处理设计源码
- 基于Java的在线宠物用品交易网站设计与实现源码
- 毕业设计-仿生六足机器人的制作全教程源码+电子元器件+程序代码+线路组件图+安装教程+搭建视频教程
- 基于ROS和webots的xrobot机械臂仿真初探C++源码
- 基于ROS的点焊机器人仿真与控制python源码+文档说明+使用说明+详细注释
- 基于vue实现的细粒度交通时空大数据分析系统+源代码+文档说明
- 安卓大作业-基于Electron的交通时空大数据分析挖掘系统客户端(Android)+源代码+文档说明+界面截图
- 基于Java的朱氏集团客户关系管理系统设计源码
- 基于C++的作业提交与批改系统设计源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
- 3
前往页