完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
使用CH573的USB CDC串口,串口可以通讯,数据上下行正常。但是每次打开串口都会下发两次SET_LINE_CODING,数据还不一样,我抓到的打印信息如下:
CH573>>[I/USB/CDC] set line coding dataRate : 9600 , charFormat : 0 parityType : 0 dataBits : 7 [I/USB/CDC] set line coding dataRate : 8609 , charFormat : 0 parityType : 0 dataBits : 8 [I/USB/CDC] set line coding dataRate : 9600 , charFormat : 0 parityType : 0 dataBits : 7 [I/USB/CDC] set line coding dataRate : 8609 , charFormat : 0 parityType : 0 dataBits : 8 第一次的波特率是9600 第二次这个8609是怎么回事? 前面的只有波特率是正常的,后面这次波特率不对 其他的都是正确的。 部分代码如下: // endpoint0 out case UIS_TOKEN_OUT: { LOG_D("endpoint0 out -> len = %d", R8_USB_RX_LEN); len = R8_USB_RX_LEN; /* 类请求 且是 设置linecodeing*/ if (SetupReqCode == SET_LINE_CODING) { if (RB_U_TOG_OK) { Line_Coding.dwDTERate = *(uint32_t *)pEP0_DataBuf; Line_Coding.bCharFormat = pEP0_DataBuf[4]; Line_Coding.bParityType = pEP0_DataBuf[5]; Line_Coding.bDataBits = pEP0_DataBuf[6]; LOG_I("set line coding dataRate : %ld , charFormat : %d parityType : %d dataBits : %d", Line_Coding.dwDTERate, Line_Coding.bCharFormat, Line_Coding.bParityType, Line_Coding.bDataBits); R8_UEP0_T_LEN = 0; R8_UEP0_CTRL |= UEP_R_RES_ACK | UEP_T_RES_ACK; // 准备上传0包 } } else { R8_UEP0_T_LEN = 0; R8_UEP0_CTRL |= UEP_R_RES_ACK | UEP_T_RES_NAK; //状态阶段,对IN响应NAK } R8_UEP0_CTRL ^= RB_UEP_R_TOG; //同步标志位翻转 } break; |
|
相关推荐
1个回答
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
374 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
877 浏览 0 评论
1478 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3430 浏览 2 评论
2832 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1830浏览 1评论
1478浏览 1评论
374浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
877浏览 0评论
482浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-9 18:00 , Processed in 0.755974 second(s), Total 72, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
510