TA的每日心情 | 难过 2024-8-8 21:16 |
---|
签到天数: 21 天 [LV.4]偶尔看看III
新手上路
- 积分
- 28
|
本帖最后由 lzyor 于 2024-3-21 09:18 编辑
芯片STC8H8K64U,试了STC8H8K64U-DEMO的提供的USB例程代码,直接烧录例程里提供的HEX都能正常运行。
移植到SDCC(4.4.0)编译后USB可以正常识别,不能正常枚举,Linux显示不能读配置错误-75,Win只能识别设备类型(HID,CDC)显示设备无法启动,请求的操作不成功。
能正常发送第一个设备描述符,但是主机请求配置描述符时没有正常回复,然后就没下文了。
几乎试了例程里全部关于USB的代码,都是这样。
我没搞清楚是哪里的问题,能发包好像还是正常的,但是只能发一个包。。。
USB抓包(前28个字节是抓包软件加上的),不同方式抓包看起来都是这样:
USB抓包
配置描述符没有回应
第一个设备描述符是正确的,后一个配置描述符就没了。
linux报错:
linux报错
Win上带个黄色警告,不能启动。
移植仅做了如下修改:
1. Keil的STC8H头文件换成了SDCC版本的头文件
2. 用宏定义给关键词前面加上两个下划线
3. 中断处理函数在main.c加上声明,SDCC在main.c没有这个声明会忽略中断处理函数
应该不是他们的问题:
1. 芯片是在这领的样品,STC8H8K64U-TSSOP20版本C
2. 板子自己画的,但是烧录例程提供的HEX都能正常运行,也能正常USB下载,应该没有问题
3. SDCC一直再用,换了几个版本还是一样的问题 |
|