搜索
bottom↓
回复: 8

【求援】VC++能否改为Delphi或C++ Builder

[复制链接]

出0入0汤圆

发表于 2008-1-27 11:42:12 | 显示全部楼层 |阅读模式
【求援】VC++能否改为Delphi或C++ Builder
    这是一个PC机通过USB与单片机通信的例程。我曾做过试验:速率12Mbps,可以一次传送4K字节的数据量。数据量超过4K字节,就要分多次传送。传送方式是Bulk方式。上位机软件是VC++写的,由于我对VC++一无所知,所以不能随心所欲地修改上位机软件。希望哪位高手把VC++改为Delphi或C++ Builder,修改的程序量很少,关键是怎样调用Dll动态链接库。
    如果哪位高手愿意做这件事,希望他在做的时候,在关键的地方用中文写些注释,以方便大家学习。谢谢!
点击此处下载ourdev_207812.rar(文件大小:65K)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2008-3-14 12:49:07 | 显示全部楼层
不错,我收下。不过我不会DELPHI和C++ BUILDER.

出0入0汤圆

发表于 2008-3-14 17:13:38 | 显示全部楼层
不是很难,如果你会delphi的话,我相信你知道如何移植的。
如果下周一我传上来,那证明周末我尚有时间,且有能力完成。
没有的话,也请见谅。
改为delphi和bcb都行,不过目前手头上没有bcb,写成delphi的可能性比较大。

出0入0汤圆

发表于 2008-3-14 17:41:55 | 显示全部楼层
SiUSBXp.h
SiUSBXp.lib
SiUSBXp.dll

就需要这三个文件就可以了。

函数就看看SiUSBXp.h中的定义。

出0入0汤圆

发表于 2008-3-14 18:07:38 | 显示全部楼层
返回值的定义:
// Return codes
#define         SI_SUCCESS                      0x00
#define         SI_DEVICE_NOT_FOUND             0xFF
#define         SI_INVALID_HANDLE               0x01
#define         SI_READ_ERROR                   0x02
#define         SI_RX_QUEUE_NOT_READY           0x03
#define         SI_WRITE_ERROR                  0x04
#define         SI_RESET_ERROR                  0x05
#define         SI_INVALID_PARAMETER            0x06
#define         SI_INVALID_REQUEST_LENGTH       0x07
#define         SI_DEVICE_IO_FAILED             0x08
#define         SI_INVALID_BAUDRATE             0x09
#define         SI_FUNCTION_NOT_SUPPORTED       0x0a
#define         SI_GLOBAL_DATA_ERROR            0x0b
#define         SI_SYSTEM_ERROR_CODE            0x0c
#define         SI_READ_TIMED_OUT               0x0d
#define         SI_WRITE_TIMED_OUT              0x0e

///////////////////
SI_USB_XP_API
SI_STATUS WINAPI SI_GetNumDevices(
        LPDWORD lpdwNumDevices
        );//得到设备数量    LPDWORD :DWORD型指针
SI_STATUS status = SI_GetNumDevices(&dwNumDevices);

SI_USB_XP_API
SI_STATUS WINAPI SI_GetProductString(
        DWORD dwDeviceNum,
        LPVOID lpvDeviceString,
        DWORD dwFlags
        );//根据dwDeviceNum得到对应的DeviceString设备描述;dwFlags见头文件第一个定义、
status = SI_GetProductString(d,devStr,SI_RETURN_SERIAL_NUMBER);

SI_USB_XP_API
SI_STATUS WINAPI SI_Open(
        DWORD dwDevice,
        HANDLE* cyHandle
        );根据dwDevice来打开设备,cyHandle指针指向的值在以后用来操作设备,是设备句柄。
SI_STATUS status = SI_Open(pDevList->GetCurSel(), &m_hUSBDevice);

出0入0汤圆

发表于 2008-3-15 11:28:36 | 显示全部楼层
做了些测试,看看能用不!只写了获取设备列表,如果可用再继续写。
点击此处下载ourdev_231099.rar(文件大小:161K)

出0入0汤圆

发表于 2008-3-17 08:43:47 | 显示全部楼层
我也做了一个,测试吧,呵呵,包含实现VC版本全部功能,带源代码的,函数的参数与VC的一致(没用引用传递的,用指针传递)
点击此处下载ourdev_232175.rar(文件大小:231K)

出0入0汤圆

发表于 2009-2-20 09:30:12 | 显示全部楼层
恩,先下载看看

出0入0汤圆

发表于 2009-2-20 10:37:57 | 显示全部楼层
mark!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-20 19:44

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表