天宁宁 发表于 2025-1-27 09:20:55

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


趁一点空闲
琢磨一下Ai8051USB控制
以前买的圈圈教你学USB开发板和书
感觉挺复杂的
可以玩的例程也不多
买了几片 DIP的 Ai8051
好奇研究下例程
发现USB定义和圈圈书中内容部分能吻合
于是做了一下注释

char code DEVICEDESC =//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 =    //
{
    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 =
{
    0x04,0x03,
    0x09,0x04,
};

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

char code PRODUCTDESC =
{
    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 =
{
    0, 0,
};

char code PACKET1 =
{
    1, 0,
};

以前买了仿三菱PLC似乎也可以做Ai8051U实验板


天宁宁 发表于 2025-1-28 10:25:51

【Ai8051U   PLC流水灯】 https://www.bilibili.com/video/BV1ByFJeyEmz/?share_source=copy_web&vd_source=a8e55e16d58cb1ab95ad87e8fa454385

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



页: [1]
查看完整版本: Ai8051l例程USB 84-USB录放音声卡 USB定义