请问大家8L的USART+DMA如何使用啊,程序如下没有发送数据。 void USART1_Send(unsigned char n) { while(!USART_GetFlagStatus (USART1,USART_FLAG_TXE));//等待发送完毕 USART_SendData8(USART1,n); //发送数据 } void DMA_Config(void) { DMA_GlobalDeInit(); DMA_DeInit(DMA1_Channel0); DMA_Init(DMA1_Channel0,(unsigned int)(&ii),(unsigned int)(USART1_BASE+0x01),1, DMA_DIR_MemoryToPeripheral,DMA_Mode_Circular,DMA_MemoryIncMode_Inc,DMA_Priority_Medium,DMA_MemoryDataSize_HalfWord); DMA_Cmd(DMA1_Channel0,ENABLE); DMA_GlobalCmd(ENABLE); } void main(void) { asm("rim"); GPIO_Init(GPIOD,GPIO_Pin_4,GPIO_Mode_Out_PP_Low_Slow); GPIO_Init(GPIOB,GPIO_Pin_6,GPIO_Mode_In_PU_No_IT); CLK_PeripheralClockConfig (CLK_Peripheral_USART1,ENABLE);//开启USART时钟 CLK_PeripheralClockConfig (CLK_Peripheral_DMA1,ENABLE); USART_Init(USART1,9600,USART_WordLength_8b,USART_StopBits_1,USART_Parity_No,USART_Mode_Tx);//USART初始化,9600,8N1 USART_Cmd (USART1,ENABLE);//使能USART USART_DMACmd(USART1,USART_DMAReq_TX,ENABLE); |