完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
贵公司的技术员好,
CH579 串口1设为9600,串口2设为115200,中断模式, 串口1收到的数据转发串口2输出是没问题, 但串口2收到的数据转发到串口1输出, 超过8个字符就会丢失,只输出了3个字符,请教是什么引起? |
|
相关推荐
2个回答
|
|
|
不同的波特率是无法直接通讯的,需要在程序中作相应的修改,如串口1接收9600波特率数据后,根据串口2的波特率再将数据发送出去。同时需要注意中断优先级。
我们更推荐直接使用串口1接收,使用串口2发送数据。 你可以将相应的代码贴出来,我们也看一下操作。 |
|
|
|
|
|
现在就是串口1设9600,串口2设115200, 串口2收到的数据,用串口1输出, 超过7个字就丢失
case UART_II_RECV_RDY: // 数据达到设置触发点 for(i=0; i!=trigB; i++) { RxBuff = UART1_RecvByte(); UART2_SendByte(RxBuff); } case UART_II_RECV_RDY: // 数据达到设置触发点 for(i=0; i!=trigB; i++) { RxBuff2 = UART2_RecvByte(); UART1_SendByte(RxBuff2); } UART1_BaudRateCfg( 9600 ); R8_UART1_FCR = (2<<6) | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; R8_UART1_LCR = RB_LCR_WORD_SZ; R8_UART1_IER = RB_IER_TXD_EN; R8_UART1_DIV = 1; UART2_BaudRateCfg( 115200 ); R8_UART2_FCR = (2<<6) | RB_FCR_TX_FIFO_CLR | RB_FCR_RX_FIFO_CLR | RB_FCR_FIFO_EN; R8_UART2_LCR = RB_LCR_WORD_SZ; R8_UART2_IER = RB_IER_TXD_EN; R8_UART2_DIV = 1; |
|
|
|
|
只有小组成员才能发言,加入小组>>
347 浏览 0 评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
861 浏览 0 评论
1461 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
3417 浏览 2 评论
2822 浏览 1 评论
安卓手机支持外接otg扩展坞 然后使用ch340+ch9329控制电脑吗
1808浏览 1评论
1461浏览 1评论
349浏览 0评论
CH582M HOST发送数到设备后,提交IN一直是2A是什么问题?
863浏览 0评论
468浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 09:05 , Processed in 0.603145 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
810