完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请教下大家,用USB调试助手来调试USB所遇到的困惑。问题如下面截图;
在程序只找到一个MCU接收PC所发数据的函数(如下)。但这是EP1的,而非EP2的。但在调试时,确发现PC通过EP2下发的数据,mcu却能收得到。(因为在在程序里,是有EP2对PC发送数据的函数的) void EP1_OUT_Callback(void) { #ifndef STM32F10X_CL PMAToUserBufferCopy(USB_Receive_Buffer, ENDP1_RXADDR, REPORT_COUNT); SetEPRxStatus(ENDP1, EP_RX_VALID); USB_Received_Flag=1; #else // USB_SIL_Read(EP1_OUT,USB_Receive_Buffer); // USB_Received_Flag=1; #endif } 程序是有EP2对PC的发送数据函数。但没找得到EP2接收PC所发数据的函数。 uint32_t USB_SendData(uint8_t *data,uint32_t dataNum) { #ifndef STM32F10X_CL //数据通过USB送出去 UserToPMABufferCopy(data, ENDP2_TXADDR, dataNum); SetEPTxCount(ENDP2, REPORT_COUNT); SetEPTxValid(ENDP2); #else USB_SIL_Write(EP2_IN, data, dataNum); #endif return dataNum; } 而且,看程序另一个地方的设置,#define EP2_OUT_Callback NOP_Process,这个也没加屏蔽,也就是 EP2接收PC所发数据的函数或功能也没使能 /* CTR service routines */ /* associated to defined endpoints */ //#define EP1_IN_Callback NOP_Process //#define EP2_IN_Callback NOP_Process #define EP3_IN_Callback NOP_Process #define EP4_IN_Callback NOP_Process #define EP5_IN_Callback NOP_Process #define EP6_IN_Callback NOP_Process #define EP7_IN_Callback NOP_Process //#define EP1_OUT_Callback NOP_Process #define EP2_OUT_Callback NOP_Process #define EP3_OUT_Callback NOP_Process #define EP4_OUT_Callback NOP_Process #define EP5_OUT_Callback NOP_Process #define EP6_OUT_Callback NOP_Process #define EP7_OUT_Callback NOP_Process 请高手们分析下,谢谢 |
|
相关推荐
1个回答
|
|
从您提供的信息来看,您在使用USB调试助手时遇到了一些困惑。您提到在程序中只找到了一个MCU接收PC所发数据的函数(EP1_OUT_Callback),但实际调试时发现PC通过EP2下发的数据,MCU却能收得到。这可能是因为您的程序中还有其他与EP2相关的函数或配置。
为了解决这个问题,您可以尝试以下步骤: 1. 仔细检查您的程序代码,确保没有遗漏与EP2相关的函数或配置。这可能包括初始化EP2的函数、设置EP2的接收缓冲区等。 2. 如果您在代码中找到了与EP2相关的函数,检查这些函数的实现是否正确。确保它们能够正确地处理从PC接收到的数据。 3. 如果您仍然无法找到与EP2相关的函数,您可以尝试在程序中添加一个新的函数来处理EP2的接收数据。这个函数应该类似于EP1_OUT_Callback,但是在处理EP2的数据时,您需要使用与EP2相关的宏定义和寄存器。 4. 在调试过程中,使用USB调试助手或其他工具来观察MCU与PC之间的通信。这可以帮助您更好地理解数据是如何在EP1和EP2之间传输的。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1718 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1600 浏览 1 评论
1040 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
716 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1654 浏览 2 评论
1906浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
699浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
548浏览 3评论
570浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
535浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-13 10:53 , Processed in 0.836321 second(s), Total 82, Slave 64 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号