1. 首页
  2. 课程学习
  3. C++/C
  4. STM32 模拟信号采集

STM32 模拟信号采集

上传者: 2022-07-19 06:02:16上传 .RAR文件 2.43 MB 热度 25次

【文件目录】

8路信号采集板_V1.0

├── CMSIS│ ├── core_cm3.c│ ├── core_cm3.h│ ├── startup│ │ ├── startup_stm32f10x_cl.s│ │ ├── startup_stm32f10x_hd.s│ │ ├── startup_stm32f10x_hd_vl.s│ │ ├── startup_stm32f10x_ld.s│ │ ├── startup_stm32f10x_ld_vl.s│ │ ├── startup_stm32f10x_md.s│ │ ├── startup_stm32f10x_md_vl.s│ │ └── startup_stm32f10x_xl.s│ ├── stm32f10x.h│ ├── system_stm32f10x.c│ └── system_stm32f10x.h├── FWlib│ ├── inc│ │ ├── misc.h│ │ ├── stm32f10x_adc.h│ │ ├── stm32f10x_bkp.h│ │ ├── stm32f10x_can.h│ │ ├── stm32f10x_cec.h│ │ ├── stm32f10x_crc.h│ │ ├── stm32f10x_dac.h│ │ ├── stm32f10x_dbgmcu.h│ │ ├── stm32f10x_dma.h│ │ ├── stm32f10x_exti.h│ │ ├── stm32f10x_flash.h│ │ ├── stm32f10x_fsmc.h│ │ ├── stm32f10x_gpio.h│ │ ├── stm32f10x_i2c.h│ │ ├── stm32f10x_iwdg.h│ │ ├── stm32f10x_pwr.h│ │ ├── stm32f10x_rcc.h│ │ ├── stm32f10x_rtc.h│ │ ├── stm32f10x_sdio.h│ │ ├── stm32f10x_spi.h│ │ ├── stm32f10x_tim.h│ │ ├── stm32f10x_usart.h│ │ └── stm32f10x_wwdg.h│ └── src│ ├── misc.c│ ├── stm32f10x_adc.c│ ├── stm32f10x_bkp.c│ ├── stm32f10x_can.c│ ├── stm32f10x_cec.c│ ├── stm32f10x_crc.c│ ├── stm32f10x_dac.c│ ├── stm32f10x_dbgmcu.c│ ├── stm32f10x_dma.c│ ├── stm32f10x_exti.c│ ├── stm32f10x_flash.c│ ├── stm32f10x_fsmc.c│ ├── stm32f10x_gpio.c│ ├── stm32f10x_i2c.c│ ├── stm32f10x_iwdg.c│ ├── stm32f10x_pwr.c│ ├── stm32f10x_rcc.c│ ├── stm32f10x_rtc.c│ ├── stm32f10x_sdio.c│ ├── stm32f10x_spi.c│ ├── stm32f10x_tim.c│ ├── stm32f10x_usart.c│ └── stm32f10x_wwdg.c├── Listing│ ├── STM32-DEMO.map│ └── startup_stm32f10x_hd.lst├── Output│ ├── ExtDll.iex│ ├── STM32-DEMO.axf│ ├── STM32-DEMO.build_log.htm│ ├── STM32-DEMO.hex│ ├── STM32-DEMO.htm│ ├── STM32-DEMO.lnp│ ├── STM32-DEMO.plg│ ├── STM32-DEMO.sct│ ├── STM32-DEMO.tra│ ├── STM32-DEMO_ADC1-DEMO.dep│ ├── STM32-DEMO_sct.Bak│ ├── adc.crf│ ├── adc.d│ ├── adc.o│ ├── core_cm3.crf│ ├── core_cm3.d│ ├── core_cm3.o│ ├── delay.crf│ ├── delay.d│ ├── delay.o│ ├── flash.crf│ ├── flash.d│ ├── flash.o│ ├── key.crf│ ├── key.d│ ├── key.o│ ├── led.__i│ ├── led.crf│ ├── led.d│ ├── main.crf│ ├── main.d│ ├── main.o│ ├── misc.crf│ ├── misc.d│ ├── misc.o│ ├── oled_i2c.crf│ ├── oled_i2c.d│ ├── oled_i2c.o│ ├── startup_stm32f10x_hd.d│ ├── startup_stm32f10x_hd.o│ ├── stm32f10x_adc.crf│ ├── stm32f10x_adc.d│ ├── stm32f10x_adc.o│ ├── stm32f10x_dma.crf│ ├── stm32f10x_dma.d│ ├── stm32f10x_dma.o│ ├── stm32f10x_flash.crf│ ├── stm32f10x_flash.d│ ├── stm32f10x_flash.o│ ├── stm32f10x_gpio.crf│ ├── stm32f10x_gpio.d│ ├── stm32f10x_gpio.o│ ├── stm32f10x_i2c.crf│ ├── stm32f10x_i2c.d│ ├── stm32f10x_i2c.o│ ├── stm32f10x_it.crf│ ├── stm32f10x_it.d│ ├── stm32f10x_it.o│ ├── stm32f10x_rcc.crf│ ├── stm32f10x_rcc.d│ ├── stm32f10x_rcc.o│ ├── stm32f10x_tim.crf│ ├── stm32f10x_tim.d│ ├── stm32f10x_tim.o│ ├── stm32f10x_usart.crf│ ├── stm32f10x_usart.d│ ├── stm32f10x_usart.o│ ├── system_stm32f10x.crf│ ├── system_stm32f10x.d│ ├── system_stm32f10x.o│ ├── time.crf│ ├── time.d│ ├── time.o│ ├── usart1.crf│ ├── usart1.d│ └── usart1.o└── USER ├── JLink Regs CM3.txt ├── JLinkLog.txt ├── JLinkSettings.ini ├── OLED_I2C.c ├── OLED_I2C.h ├── STM32-DEMO.plg ├── STM32-DEMO.uvgui.JACK ├── STM32-DEMO.uvgui.MQ ├── STM32-DEMO.uvgui.flyleaf ├── STM32-DEMO.uvgui.shoulder ├── STM32-DEMO.uvgui_MQ.bak ├── STM32-DEMO.uvgui_flyleaf.bak ├── STM32-DEMO.uvopt ├── STM32-DEMO.uvproj ├── STM32-DEMO_ADC1-DEMO.dep ├── STM32-DEMO_LED-DEMO.dep ├── STM32-DEMO_Target 1.dep ├── STM32-DEMO_USART1-DEMO.dep ├── STM32-DEMO_uvopt.bak ├── STM32-DEMO_uvproj.bak ├── adc.c ├── adc.h ├── codetab.h ├── delay.c ├── delay.h ├── flash.c ├── flash.h ├── key.c ├── key.h ├── main.c ├── stm32f10x_conf.h ├── stm32f10x_it.c ├── stm32f10x_it.h ├── time.c ├── time.h ├── usart1.c └── usart1.h8 directories, 174 files

GPIO_InitTypeDef GPIO_InitStructure;ADC_InitTypeDef ADC_InitStructure;DMA_InitTypeDef DMA_InitStructure;

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0| GPIO_Pin_1|GPIO_Pin_2| GPIO_Pin_3|GPIO_Pin_4| GPIO_Pin_5|GPIO_Pin_6| GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure);

//GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;// GPIO_Init(GPIOA, &GPIO_InitStructure); DMA_DeInit(DMA1_Channel1); DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address; DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)ADC_RegularConvertedValueTab; DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC; DMA_InitStructure.DMA_BufferSize = 9; DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; 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); DMA_Cmd(DMA1_Channel1, ENABLE); ADC_InitStructure.ADC_Mode = ADC_Mode_Independent; ADC_InitStructure.ADC_ScanConvMode = ENABLE; ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; ADC_InitStructure.ADC_NbrOfChannel = 9; ADC_Init(ADC1, &ADC_InitStructure); // /*ÅäÖÃADCʱÖÓ£¬ÎªPCLK2µÄ8·ÖƵ£¬¼´9Hz*/ RCC_ADCCLKConfig(RCC_PCLK2_Div8); ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_2, 3, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_3, 4, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 5, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_5, 6, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 7, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 8, ADC_SampleTime_55Cycles5); ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 9, ADC_SampleTime_55Cycles5); //ʹÄÜζȴ«¸ÐÆ÷ºÍÄÚ²¿²Î¿¼µçѹ ADC_TempSensorVrefintCmd(ENABLE); ADC_DMACmd(ADC1, ENABLE); ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1); while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1); while(ADC_GetCalibrationStatus(ADC1)); ADC_SoftwareStartConvCmd(ADC1, ENABLE);

下载地址
用户评论