请问我想用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发送出去
}
这是传输函数
|