完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
HS6621串口透传模式详解
本人在实际项目应用过程中,没有使用 FIFO 模式进行 UART 的收发,出现了一些丢包的情况,下面将我遇到的问题分享一下。 遇到的问题现象
/** * @brief uart send with block * * @param[in] uart uart object * @param[in] buf transmit data buffer * @param[in] length transmit data length * * @return None **/ void uart_send_block(HS_UART_Type *uart, const uint8_t *buf, unsigned length) { unsigned i; for(i=0; i while (!(uart->LSR & UART_LSR_THRE)); uart->THR = buf; } while (!(uart->LSR & UART_LSR_TEMT)); } HS6621CG 内核的中断优先级 本人项目中的透传代码
// Init UART uart_open(HS_UART0, 230400, UART_FLOW_CTRL_DISABLED, UART0_Recv_IRQ); uart_open(HS_UART1, 230400, UART_FLOW_CTRL_DISABLED, UART1_Recv_IRQ); UART0_Recv_IRQ
void UART0_Recv_IRQ(uint8_t data) { if(EnterTransparentMode==1) {//透传模式 while (!(HS_UART1->LSR & UART_LSR_THRE)); HS_UART1->THR = data; //while (!(HS_UART1->LSR & UART_LSR_TEMT)); } } UART1_Recv_IRQ
void UART1_Recv_IRQ(uint8_t data) { if(EnterTransparentMode==1){//透传模式 while (!(HS_UART0->LSR & UART_LSR_THRE)); HS_UART0->THR = data; while (!(HS_UART0->LSR & UART_LSR_TEMT)); } } 按照以上方式处理后,我项目中的图片能够稳定以 230400 波特率上传至服务器 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
2531 浏览 0 评论
3344 浏览 9 评论
3023 浏览 16 评论
3515 浏览 1 评论
9119 浏览 16 评论
1246浏览 3评论
637浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
627浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2376浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1940浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-26 14:55 , Processed in 0.934970 second(s), Total 46, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号