完善资料让更多小伙伴认识你,还能领取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 波特率上传至服务器 |
|
|
|
只有小组成员才能发言,加入小组>>
3310 浏览 9 评论
2991 浏览 16 评论
3492 浏览 1 评论
9057 浏览 16 评论
4086 浏览 18 评论
1175浏览 3评论
603浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
596浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2333浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1894浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 11:56 , Processed in 1.310696 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号