完善资料让更多小伙伴认识你,还能领取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个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
388 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2825 浏览 2 评论
2321 浏览 1 评论
749浏览 2评论
请教一下CH9120与RTL8305NB可以不用变压器直接连接吗?
914浏览 1评论
CH565W以太网,是必须有SKCKET中断才能发送数据吗?
381浏览 1评论
304浏览 1评论
用DVP采集图像,用UDP传给PC端,采集两帧后图像报错是什么原因?
424浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-20 21:55 , Processed in 1.345045 second(s), Total 80, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号