有几个地方可以先修改看下行不行,没有验证啊。因为你的代码不全,只能按照你给的代码我觉得可以试试的地方。
还没有验证啊,可以先尝试下,有问题我们再讨论。
1、图中的代码改为:
if(DMA_GetFlagStatus(DMA2_FLAG_TC10)== RESET){
2、图中main里面的代码改为:
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
Delay_Init();
USART_Printf_Init(115200);
printf("SystemClk:%d\r\n", SystemCoreClock);
DMA10_INIT();
UART8_CFG();
USART_DMACmd(UART8,USART_DMAReq_Tx,ENABLE);
while(1){
char yuyin[] = "123456";
uartWriteYuyinStr(yuyin);
Delay_Ms(2000);
}
}
3、这个部分可以不加,不过可以试试。
在端口初始化里面添加一句
DMA_Cmd(DMA2_Channel10, ENABLE); /* USART8 Tx */