乘风飞扬 发表于 2025-7-15 17:28:51

USB库函数-从“Hello World”开始,USB_SendData()可以取代printf_usb()

void USB_SendData(BYTE *dat, int size) 取代 printf_usb() 的3个程序

使用USB库函数“USB_SendData()” 简单实现USB输入/输出功能,
可以取代 printf_usb()



神农鼎 发表于 2025-7-15 17:34:11



#include"ai8051u.h"      //头文件不分大小写,但关键字分大小写
#include"ai_usb.h"      //USB库和USB虚拟设备的头文件

u8 buf[] = {"Hello World !\r\n"};
#define LEN   (sizeof(buf)-1)

voidmain(void)
{
      EAXFR = 1;      //允许访问扩展的特殊寄存器,XFR
      WTST = 0;      //设置取程序代码等待时间,赋值为 0 表示不等待,程序以最快速度运行
      CKCON = 0;      //设置访问片内的 xdata 速度,赋值为 0 表示用最快速度访问,不增加额外的等待时间

      P0M0 = 0x00; P0M1 = 0x00;      //初始化P0口为准双向口模式
      P1M0 = 0x00; P1M1 = 0x00;         //初始化P1口为准双向口模式
      P2M0 = 0x00; P2M1 = 0x00;         //初始化P2口为准双向口模式
      P3M0 = 0x00; P3M1 = 0x00;         //初始化P3口为准双向口模式
      P4M0 = 0x00; P4M1 = 0x00;         //初始化P4口为准双向口模式
      P5M0 = 0x00; P5M1 = 0x00;         //初始化P5口为准双向口模式

      usb_init();
      //初始化USB模块,并且会将【P3.0,P3.1】初始化为高阻输入,不影响USB【D-,D+】通讯
      EA = 1;                //使能总中断

      while (1)
      {
                USB_SendData(buf,LEN);
//                printf_usb("Hello World !\r\n");
                //\r是回车,并跳到行首,\n是换行,就是换到下一行;\r\n不要交换次序
      }
}
页: [1]
查看完整版本: USB库函数-从“Hello World”开始,USB_SendData()可以取代printf_usb()