zoukankan      html  css  js  c++  java
  • USB的固件和驱动的最简单用法

    1、利用Cypress提供的USB通用驱动程序CyUSB.sys and CyUSB.inf,是稳妥的做法,因为驱动程序的编程比较繁琐,可尽力规避。可简单修改sys文件名、inf文件中的ID码、inf文件中出现的sys文件的文件名;

    2、在一个EZUSB固件工程中,一般只需要修改两个文件:Periph.c(用户调度函数,不同工程取名不同,如官方例程中的BulkLoop.c), DSCR.A51(USB描述符列表,通常是汇编语言编写的,读起来简单直接);

    3、实际固件编程中一般只需要修改fw.c中出现的两个子函数:

    (1)TD_Init():可进行全局变量、FX2LP寄存器初始化;

    (2)TD_Poll():在这里添加需要实现的功能,因为它会被main函数重复执行;

    4、有事,用户会抛弃TD_Poll()函数,而只是利用" BOOL DR_VendorCmnd(void) "在固件中定义自己的请求,利用控制传输发送用户自定义的请求:

    (1)请求响应函数是fw.c中的void SetupCommand(void),其中对用户请求交给DR_VendorCmnd(void)处理,DR_VendorCmnd(void)根据setupdata决定下一步动作;

    (2)DR_VendorCmnd(void) 函数定义在Periph.c内,当设备接收到自定义控制命令时被fw.c调用;

    PS:发现用Word重新发布一篇经过修改的、本地保存的博客文章,博客上会将之前的文章进行更新,而不是发布一篇新文章,即便更改的是文章标题。这很好,可以方便进行网上和本地的文章同步。

  • 相关阅读:
    xml根据属性去重。如csprj去重
    table中td的内容换行。
    基于jq的表单填充
    c#包含类文件到csprj中
    t4 根据表名数组生成实体
    js中找string中重复项最多的字符个数
    一步步配置cordova android开发环境
    .net framework卸载工具
    Sql Server查询视图和表
    DbHelper.ttinclude 更新,查询视图和表
  • 原文地址:https://www.cnblogs.com/sunmaoduo/p/3915970.html
Copyright © 2011-2022 走看看