打印

MM32通过DMA传输到蓝牙,再传输到手机的数据丢失的问题

[复制链接]
6766|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
SEU9877|  楼主 | 2021-6-4 23:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问我想用MM32向蓝牙模块HC05传输数据,然后用手机接受,但是传输的数据丢包,并且只传输第一位数据(类似HCO5:1111111111),用的DMA传输到蓝牙,
                t = KEY_Scan(0);    //get   key value
                if( t == KEY3_PRES )
                {
                        sprintf((char*)sendbuf,"12345678 %d\r\n",sendcnt);
                        printf("%s",sendbuf);//显示发送数据               
                        u2_printf("2346789abcdefgh %d\r\n",sendcnt);        //发送到蓝牙模块

            sendcnt++;
                        if(sendcnt>99)sendcnt=0;
            t=0;
                        LED2_ON();
                        DELAY_Ms(100);
                  LED2_OFF();     
                }          
(主循环里的),
void u2_printf(char* fmt,...)  
{  
        va_list ap;
        va_start(ap,fmt);
        vsprintf((char*)USART3_TX_BUF,fmt,ap);
        va_end(ap);
        while(DMA_GetCurrDataCounter(DMA1_Channel2)!=0);        //等待通道2传输完成   
        UART_DMA_Enable(DMA1_Channel2,strlen((const char*)USART3_TX_BUF));         //通过dma发送出去
}
这是传输函数


使用特权

评论回复

相关帖子

沙发
SEU9877|  楼主 | 2021-6-4 23:26 | 只看该作者

MM32通过DMA传输到蓝牙,再传输到手机的数据丢失的问题

拜托各位大佬了

使用特权

评论回复
板凳
Prry| | 2021-6-5 10:41 | 只看该作者
参考STM32 DAM串口收发实现,实测1.5Mbps不翻车:https://acuity.blog.csdn.net/article/details/108367512

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

2

帖子

0

粉丝