}
voidLED_GPIO_Config()
{
GPIO_InitTypeDefGPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能PD端口时钟
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10|GPIO_Pin_11;//LED0-->PD.8端口配置
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO速度50MHz
GPIO_Init(GPIOD,&GPIO_InitStructure);//根据设定参数初始化GPIOB.5
}
voidSysTick_Init()
{
if(SysTick_Config(SystemCoreClock/1000))
{
while
(1);
}
SysTick->CTRL&=~SysTick_CTRL_ENABLE_Msk;//关闭滴答定时器
//SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;//开启滴答定时器
}
voidDelay_ms(__IOu32nTime)
{
TimingDelay=nTime;
SysTick->CTRL|=SysTick_CTRL_ENABLE_Msk;//打开
while(TimingDelay!
=0);
}
voidRCC_Config(void)//配置时钟
{
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);//DMA
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_GPIOC,ENABLE);//ADC1andGPIOC
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA,ENABLE);//USART
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);//使能PD端口时钟LED
}
voidGPIO_Config(void)
{
GPIO_InitTypeDefGPIO_InitStructure;
/***ConfigPA.01(ADC1)***/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;
GPIO_Init(GPIOC,&GPIO_InitStructure);
/***ConfigLED***/
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//推挽输出
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//IO速度50MHz
GPIO_Init(GPIOD,&GPIO_InitStructure);//根据设定参数初始化GPIOB.5
/***ConfigUSART***/
/*ConfigureUSART1Tx(PA.09)asalternatefunctionpush-pull*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_9;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
/*ConfigureUSART1Rx(PA.10)asinputfloating*/
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA,&GPIO_InitStructure);
}
voidDMA_Config(void)
{
/*DMAchannel1configuration*/
DMA_InitTypeDefDMA_InitStructure;
DMA_DeInit(DMA1_Channel1);
DMA_InitStructure.DMA_PeripheralBaseAddr=ADC1_DR_Address;/*ADC?
?
*/
DMA_InitStructure.DMA_MemoryBaseAddr=(u32)&ADC_ConvertedValue;
DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralSRC;
DMA_InitStructure.DMA_BufferSize=16;
DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;
DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Disable;
DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;
DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord;
DMA_InitStructure.DMA_Mode=DMA_Mode_Circular;
DMA_InitStructure.DMA_Priority=DMA_Priority_High;
DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;
DMA_Init(DMA1_Channel1,&DMA_InitStructure);
/*EnableDMAchannel1*/
DMA_Cmd(DMA1_Chann