找回密码
 立即注册
查看: 197|回复: 1

Ai8051l例程USB 84-USB录放音声卡 USB定义

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-14 07:09:01

15

主题

51

回帖

577

积分

高级会员

积分
577
发表于 2025-1-27 09:20:55 | 显示全部楼层 |阅读模式
USB设备描述.png USB设备描述符.png
趁一点空闲
琢磨一下Ai8051USB控制
以前买的圈圈教你学USB开发板和书
感觉挺复杂的
可以玩的例程也不多
买了几片 DIP的 Ai8051
好奇研究下例程
发现USB定义和圈圈书中内容部分能吻合
于是做了一下注释

char code DEVICEDESC[18] =  //usb标准设备描述符
{
    0x12,                   //bLength(18);    设备描述符长度18字节
    0x01,                   //bDescriptorType(Device); 设备描述符编号
    0x00,0x02,              //bcdUSB(2.00);     USB版本 USB1.0 USB2.0
    0x00,                   //bDeviceClass(0);    设备 描述符定义设备类 不在此定义 为0
    0x00,                   //bDeviceSubClass0);    不在此定义 为0
    0x00,                   //bDeviceProtocol(0);    不在此定义 为0
    0x40,                   //bMaxPacketSize0(64);     端点64字节
    0xbf,0x34,              //idVendor(34bf);         USB协会申请的ID号
    0x18,0xff,              //idProduct(ff18);        产品ID号
    0x00,0x01,              //bcdDevice(1.00);        版本号
    0x01,                   //iManufacturer(1);        厂商字符串索引值
    0x02,                   //iProduct(2);            产品字符串索引值
    0x00,                   //iSerialNumber(0);        设备字符串索引值
    0x01,                   //bNumConfigurations(1);  该设备配置值
};

后面几段子程序还在研究中
char code CONFIGDESC[194] =    //
{
    0x09,                   //bLength(9);
    0x02,                   //bDescriptorType(Configuration);
    0xc2,0x00,              //wTotalLength(194);
    0x03,                   //bNumInterfaces(3);
    0x01,                   //bConfigurationValue(1);
    0x00,                   //iConfiguration(0);
    0x80,                   //bmAttributes(BUSPower);
    0x32,                   //MaxPower(100mA);


char code LANGIDDESC[4] =
{
    0x04,0x03,
    0x09,0x04,
};

char code MANUFACTDESC[8] =
{
    0x08,0x03,
    'S',0,
    'T',0,
    'C',0,
};

char code PRODUCTDESC[28] =
{
    0x1c,0x03,
    'S',0,
    'T',0,
    'C',0,
    ' ',0,
    'U',0,
    'S',0,
    'B',0,
    ' ',0,
    'A',0,
    'u',0,
    'd',0,
    'i',0,
    'o',0,
};

char code PACKET0[2] =
{
    0, 0,
};

char code PACKET1[2] =
{
    1, 0,
};
PLC.png
以前买了仿三菱PLC似乎也可以做Ai8051U实验板


回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-14 07:09:01

15

主题

51

回帖

577

积分

高级会员

积分
577
发表于 2025-1-28 10:25:51 | 显示全部楼层
[media=x,500,375]【Ai8051U   PLC流水灯】 https://www.bilibili.com/video/B ... 1ab95ad87e8fa454385[/media]

修改了一下例程的流水灯IO引脚
控制板P1口是输出继电器
让P1口八个脚循环输出
P0和P2是输入输出
P3.0 P3.1肯定是串口
还有P2.0 P2.1 P2.2三个口加VCC GND电源是5脚排针
再研究一下P2.0 P2.1 P2.2能不能干点啥



回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-2 02:32 , Processed in 0.256083 second(s), 51 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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