while(pDMX1_buf <= 192)
{
if(USART1->SR & (1<<6))
{
/*发送起始码 00*/
USART1->DR = 0x0100 | str1[pDMX1_buf];
pDMX1_buf++;
}
while((USART1->SR&0X40)==0);
}
这个代码比较占用CPU,如何改为用DMA方式发送
bdstm32dma串口就行了啊 有例程的
看我写的SPI-DMA发送的代码或许能够得到启发
https://blog.csdn.net/weixin_43572492/article/details/94379065
UART的DMA通道要自己去查。
记得先初始化UART,再初始化DMA。
被发送的数据串,最好是全局变量。
发送完成的判断,使用中断或查询都可以。