gaoyang9992006 发表于 2025-1-13 15:36:55

《8051U深度入门到32位51大型实战视频》USB不停电下载学习心得


第四集

在其他网站看到了别人关于AI8051的USB应用的视频,觉得非常不可思议。

原来USB的使用是可以如此的简单,AI8051太强了,我想玩玩。看了相关的课程和代码,顿时开悟了。
#include "ai8051u.h"                        //调用头文件
#include "stc32_stc8_usb.h"                //调用头文件


char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";

void main(void)
{
    P_SW2 |= 0x80;                //B7位写1,使能访问XFR
      
    P0M1 = 0x00;   P0M0 = 0x00;
    P1M1 = 0x00;   P1M0 = 0x00;
    P2M1 = 0x00;   P2M0 = 0x00;
    P3M1 = 0x00;   P3M0 = 0x00;
    P4M1 = 0x00;   P4M0 = 0x00;
    P5M1 = 0x00;   P5M0 = 0x00;
    P6M1 = 0x00;   P6M0 = 0x00;
    P7M1 = 0x00;   P7M0 = 0x00;
      
      usb_init();                                     //USB CDC 接口配置

    IE2 |= 0x80;                                    //使能USB中断
    EA = 1;                                                                                        //IE |= 0X80;
      
      while (DeviceState != DEVSTATE_CONFIGURED);   //等待USB完成配置
      
      while(1)
      {
               
      if (bUsbOutReady)
      {
            USB_SendData(UsbOutBuffer,OutNumber);   //发送数据缓冲区,长度(接收数据原样返回, 用于测试)
            
            usb_OUT_done();
      }
               
                P40 = 0;      //P40端口输出0V
                P00 = 0;      //P00端口输出0V
                P02 = 0;      //P02端口输出0V
                //P01 = 0;      //P01端口输出0V
                //
      }
}这些封装好的函数可以用,不过封装成了LIB,不能一窥背后真容。不过这并不影响使用,期待能得到一套开发板,自己动手来做。
页: [1]
查看完整版本: 《8051U深度入门到32位51大型实战视频》USB不停电下载学习心得