- 打卡等级:初来乍到
- 打卡总天数:9
- 最近打卡:2025-06-29 12:23:16
已绑定手机
注册会员
- 积分
- 89
|
继续 printf_usb
实验3
在中断响应里面读usb data 再反馈
// USB 接收中断服务程序中,调用用户实际需要执行的服务程序,
// 简称回调函数,用户根据实际应用场景需求编写
void USBLIB_OUT_Callback(void)
{
//用户希望 USB 库函数,中断方式回调执行的用户自己编写的任务函数,简称回调函数
if (UsbOutBuffer[0] == 6){
printf_usb("Hello World !\r\n");
//接收到数据 6 后,直接打印输出“Hello World !”到主机相应软件的 USB【CDC/HID-串口助手】
// \r 是回车,跳到行首,\n 是换行,就是换到下一行;\r\n 不要交换次序
}
else if (UsbOutBuffer[0] == 7){
printf_usb("China !\r\n");
//接收到数据 7 后,直接打印输出 “China !” 到主机相应软件的 USB【CDC/HID-串口助手】”
}
}
void main(void)
{
EAXFR = 1; //允许访问扩展的特殊寄存器,XFR
WTST = 0; //设置取程序代码等待时间,赋值为 0 表示不等待,程序以最快速度运行
CKCON = 0; //设置访问片内的 xdata 速度,赋值为 0 表示用最快速度访问,不增加额外的等待时间
usb_init(); //初始化 USB 模块 //初始化 USB 模块,并且会将【P3.0, P3.1】初始化为高阻输入,不影响 USB【D-, D+】通讯
set_usb_OUT_callback(USBLIB_OUT_Callback); //设置 USB 中断服务程序可以调用的回调函数
//此处 USBLIB_OUT_Callback 是前面用户自己编写的任务函数的函数名/地址,供 USB 库函数回调
EA = 1; //总中断允许位打开
while (1);
} |
|