找回密码
 立即注册
查看: 80|回复: 0

利用Ai8051U做USB实验的8种场景记录贴。

[复制链接]
  • 打卡等级:以坛为家I
  • 打卡总天数:237
  • 最近打卡:2025-12-17 02:32:37
已绑定手机

23

主题

190

回帖

1582

积分

金牌会员

积分
1582
发表于 2025-11-15 03:10:01 | 显示全部楼层 |阅读模式
介绍:

用Ai8051U-34K64擎天柱核心板学习单片机有一段时间了。
STC的硬件USB非常方便下载、仿真及通信功能的开发。
虽然一直用,但没有按照论坛视频做一下USB的那三个printf_usb的实验。
因为要排查一个usb的错误,顺便做了一下USB的实验。

环境:
Ai8051U-34K64擎天柱核心板,Keil5开发环境,AiCube-ISP(6.96F)下载工具。

步骤:
根据Ai8051U-34K64的8位、32位两种指令模式,USB的cdc、hid两种设备类型,开发用的query、interrupt两种技术,整个实验主要分八个实验场景。
具体步骤很简单,按照视频教程或者Ai8051U的芯片手册中的第二章关于实验部分的描述做即可。
过程中几个要点记录一下。
一、在Keil5中选择芯片类型及目标程序选项。如下图:
1、32位Ai8051U
截图202511150236468470.jpg 截图202511150238438695.jpg
2、8位Ai8051U
截图202511150230532777.jpg 截图202511150240295213.jpg
二、在AiCube-ISP中每次下载程序时选择CPU指令模式、USB是CDC或HID模式和不停电下载参数。如下图:
1、选择CPU指令模式。
截图202511150248187251.jpg
2、选择USB是CDC或HID模式及不停电下载参数。
截图202511150253256630.jpg
三、在测试USB通信时,选择CDC/HID-串口助手或USB-HID助手。如下图:
截图202511150256578481.jpg 截图202511150301229096.jpg

程序:
核心代码因query和interrupt编程技术分成两个:main-query.c和main-int.c,Keil5中通过这里选择不同的场景:
截图202511150318409028.jpg
源代码: usb.rar (58.86 KB, 下载次数: 0)

遗留问题:
在HID模式的库中,没有OutNumber变量。
造成在调用函数:USB_SendData(UsbOutBuffer, ????)时????这里该填什么数呢?
问题详细描述请见:USB库的HID库中没有OutNumber变量。
学习MCU
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-12-17 13:10 , Processed in 0.107504 second(s), 46 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表