C语言如何让调用笔记本的USB接口啊,求实例

Python013

C语言如何让调用笔记本的USB接口啊,求实例,第1张

1.打开usb接口上的设备,或者打开usb控制器,涉及到windows的驱动访问。一般访问设备使用CreateFile打开设备,然后使用ReadFile/WriteFile读写设备。

2.例程:

    handle hFile = CreateFile(..., FILE_FLAG_overlapped, ...) //指定以异步方式打开

    byte bBuffer[100]

    overlapped o = { 0 }

    o.Offset = 345

    bool bReadDone = ReadFile(hFile, bBuffer, 100, null, &o) // bReadDone 指定I/O请求是不是以同步方式打开

    dword dwError = GetLastError()

    if (!bReadDone && (dwError == ERROR_IO_PENDING)) { //异步方式打开

        // The I/O is being performed asynchronously wait for it to complete

        WaitForSingleObject(hFile, infinite)

        bReadDone = TRUE

    }

    if (bReadDone) {

           // o.Internal contains the I/O error

           // o.InternalHigh contains the number of bytes transferred

           // bBuffer contains the read data

    } else {

            // An error occurred see dwError

    }

答案是可以。

网上有许多学习板,去淘宝搜索USB学习板就知道了。

单片机一般是STM32或者是silicon公司的C8051F34系列这些自带USB的单片机或者51单片机加上一块USB控制器。

使用silicon公司的丹皮纳吉,你可以很快做出一个成品,因为silicon公司提供了windows驱动和下位机的驱动。你只需要去调用他提供的API函数就够了。

使用前者或者是51结合USB控制器,你可以学到很多更详细的USB知识(很直接的说,USB是个非常复杂的东西)

需要掌握的知识有:

上位机,需要掌握VC或者VB之类的能生成图形界面的软件,来调用siliocn的库实现通过USB向单片机传递数据或者是自己去定义USB的那些结构体实现设备的枚举握手等过程(初学者不建议,有点难,但网上的源码非常多,肯钻研,这条路更好。)。

下位机,就需要掌握单片机的使用。

当然所有的这些,需要熟练使用C语言,以及了解C++面向对象的思想。

这东西比较复杂,不是一蹴而就的,慢慢来,相信你会有个好的前景的!

方法一:

1、首先需要将USB设备插入到计算机USB接口,然后点击电脑的“开始”菜单,点击“运行”,在输入框中输入“cmd”命令,点击“确定”按钮。

2、在命令提示符窗口内分别执行下面两条命令

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "DEVMGR_SHOW_DETAILS" /d 1 /t REG_SZ /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v"DEVMGR_SHOW_NONPRESENT_DEVICES" /d 1 /t REG_SZ /f

3、将计算机重启,点击“开始”菜单,打开“运行”,输入“devmgmt.msc”命令,点击“确定”按钮或者右击桌面上“我的电脑”,在弹出的快捷菜单中选择“属性”,点击“硬件”选项卡,然后点击下面的“设备管理器”按钮。

4、打开设备管理器,在菜单栏点击“查看” - “显示隐藏的设备”。

5、鼠标左键双击双击“通用串行总线控制器”项目,将所显示的灰色项目和USB大容量存储设备卸载掉。

6、然后右键点击“通用串行总线控制器”项目,在弹出的下拉菜单中选择“扫描检查硬件改动”。

7、拔掉USB设备,再重新插上,看是否已经OK。

8、若重新插入还是没好,则右键点击“通用串行总线控制器”下的“USB Root Hub”项目,点击“属性”。

9、在打开的也窗口中点击“电源管理”选项卡,去掉“允许计算机关闭此设备以节约电源”,点击“确定”按钮(依次对每个USB Root Hub的属性进行修改)。