完善资料让更多小伙伴认识你,还能领取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个回答
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
259 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2737 浏览 2 评论
2250 浏览 1 评论
请问一下CH573的PA9引脚用作TMR0功能可以做输入捕获用来进行红外解码吗?
1279浏览 7评论
BLE-Dongle与CH9141-A核心板进行双向透传,无法接收到串口数据怎么解决?
486浏览 7评论
222浏览 4评论
主机NRF52832从机ch9141,ch9141断电后无法发送数据怎么解决?
404浏览 3评论
294浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-17 03:45 , Processed in 0.903100 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号