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

[复制链接]
7442|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

粉丝
快速回复 在线客服 返回列表 返回顶部