usart_dma_send
void usart_dma_send(uint8_t* buf, uint16_t size,DMA_Channel_TypeDef *channel)
{
static uint8_t dma_send_buf[512];
while ((channel->CNDTR) != 0);
channel->CCR &= (uint16_t)(~DMA_CCR_EN);
memcpy(dma_send_buf, buf, size);
channel->CMAR = (uint32_t)dma_send_buf;
channel->CNDTR = size;
channel->CCR |= DMA_CCR_EN;
}