YangHY 发表于 2025-12-30 12:39:31

接着创建系统项目文件,并自动启动Keil,打开项目

双击打开main.c

编译连接,看看有没有错误

YangHY 发表于 2025-12-30 12:59:54

这次我们要找USB回调函数子程序,在其中加入打印部分:

//USB设备接收数据中断回调程序
//入口参数:无
//函数返回:无
//OutNumber:USB设备接收到的数据长度
//UsboutBuffer:保存UsB设备接收到的数据

void USBLIB_OUT_Callback(void)
//<<AICUBE USER USBLIB ISR CODEl BEGIN>>
//在此添加中断函数用卢代码
//USB_SendData(UsboutBuffer,OutNumber);//原路返回,用于测试山在此处添加用户处理接收数据的代码


//<<AICUBE_USER_USBLIB_ISR_CODE1_END>>
}

把用于测试的代码屏蔽:

USB_SendData(UsboutBuffer,OutNumber);//原路返回,用于测试山在此处添加用户处理接收数据的代码


YangHY 发表于 2025-12-30 13:01:47

还是去深圳大学的实验程序,选第三个:

copy 这4行:

YangHY 发表于 2025-12-30 13:05:58

插入这里:

//USB设备接收数据中断回调程序
//入口参数:无
//函数返回:无
//OutNumber:USB设备接收到的数据长度
//UsboutBuffer:保存UsB设备接收到的数据

void USBLIB_OUT_Callback(void)
//<<AICUBE USER USBLIB ISR CODEl BEGIN>>
//在此添加中断函数用卢代码
//USB_SendData(UsboutBuffer,OutNumber);//原路返回,用于测试山在此处添加用户处理接收数据的代码

if (UsbOutBuffer == 6)
      printf_usb("Hello World !\r\n");        //接收到数据6后打印“Hello World !”
    else if (UsbOutBuffer == 7)
      printf_usb("China !\r\n");                //接收到数据7后打印“China !”


//<<AICUBE_USER_USBLIB_ISR_CODE1_END>>
}

接着编译连接下载

和前2个实验一样




YangHY 发表于 2025-12-30 13:11:37

下载完成后在串口助手,单击“会送Hello,word!”

串口就接受到“Hello,word!”

单击“回送china!”

串口就接受到“china!”

单击“会送Hello,word!”

实验三就顺利完成

YangHY 发表于 2025-12-30 13:14:05

最后又演示了不停电下载功能:

到此处就完成了李工的教学!

YangHY 发表于 2026-1-1 19:19:46

今天学习赵工演示:
Ai8051U,printf-usb("Hello World!r)n")及usb不停电下载@Aicube之图形化程序自动生成

YangHY 发表于 2026-1-1 19:26:18

还是下载库函数:

查询方式和中断方式都是齐全的

YangHY 发表于 2026-1-1 19:29:48

库函数分2种:

我们先用CDC方式

YangHY 发表于 2026-1-1 19:32:56

还有头文件和中断扩展

包括USB的头文件,都齐全啦

页: 39 40 41 42 43 44 45 46 47 48 [49] 50 51 52 53 54 55 56 57 58
查看完整版本: 第一课 序言《AI8051U的特点》