91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-16
  • 語言: 其他
  • 標簽: STM32??ADC??DMA??TIMER??

資源簡介

使用定時器控制ADC的采樣速率 使用DMA傳輸,速度快。親測通過。

資源截圖

代碼片段和文件信息

#include?“adc.h“
#include?“bsp_matrix.h“



void?ADC_GPIO_Configuration(void)????????//ADC配置函數??
{??
??GPIO_InitTypeDef?GPIO_InitStructure;??
??RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1|RCC_APB2Periph_GPIOA?ENABLE);???//使能ADC和GPIOA時鐘????????????????????????
??GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_2;????????//管腳2??
??GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN;????//模擬輸入模式??
??GPIO_Init(GPIOA?&GPIO_InitStructure);?????//GPIO組??
}??


//定時器初始化??
void?TIM2_Configuration(void)??
{???
?TIM_TimebaseInitTypeDef?TIM_TimebaseStructure;???
?TIM_OCInitTypeDef?TIM_OCInitStructure;???
?RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2??ENABLE);???
?TIM_TimebaseStructure.TIM_Period?=?24;//設置25us一次TIM2比較的周期??40KHz
?TIM_TimebaseStructure.TIM_Prescaler?=?71;//系統主頻72M,這里分頻71,相當于1000K的定時器2時鐘???
?TIM_TimebaseStructure.TIM_ClockDivision?=?0x0;???
?TIM_TimebaseStructure.TIM_CounterMode?=?TIM_CounterMode_Up;??
?TIM_TimebaseInit(TIM2?&?TIM_TimebaseStructure);??
??????
?TIM_OCInitStructure.TIM_OCMode?=?TIM_OCMode_PWM1;//下面詳細說明???
?TIM_OCInitStructure.TIM_OutputState?=?TIM_OutputState_Enable;//TIM_OutputState_Disable;???
?TIM_OCInitStructure.TIM_Pulse?=?12;???
?TIM_OCInitStructure.TIM_OCPolarity?=?TIM_OCPolarity_Low;//如果是PWM1要為Low,PWM2則為High???
?TIM_OC2Init(TIM2?&?TIM_OCInitStructure);?????
//?TIM_InternalClockConfig(TIM2);??
//?TIM_OC2PreloadConfig(TIM2?TIM_OCPreload_Enable);???
//?TIM_UpdateDisableConfig(TIM2?DISABLE);??
}??
//ADC_DMA初始化配置??
void?ADC_DMA_Config(void)??
{??
??DMA_InitTypeDef?DMA_InitStructure;?//?注:ADC為12位模數轉換器,只有ADCConvertedValue的低12位有效??
NVIC_InitTypeDef?NVIC_InitStructure;?

??RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1?ENABLE);//使能DMA時鐘??
??DMA_DeInit(DMA1_Channel1);//開啟DMA1的第一通道???
??DMA_InitStructure.DMA_PeripheralbaseAddr?=?(unsigned?long)(&ADC1->DR);//DMA對應的外設基地址??
??DMA_InitStructure.DMA_MemorybaseAddr?=?(uint32_t)bufferB;?//內存存儲基地址??
??DMA_InitStructure.DMA_DIR?=?DMA_DIR_PeripheralSRC;?//DMA的轉換模式為SRC模式,由外設搬移到內存??
??DMA_InitStructure.DMA_BufferSize?=?256; //DMA緩存大小,256個??
??DMA_InitStructure.DMA_PeripheralInc?=?DMA_PeripheralInc_Disable;?//接收一次數據后,設備地址禁止后移??
??DMA_InitStructure.DMA_MemoryInc?=?DMA_MemoryInc_Enable;?//接收一次數據后,目標內存地址后移??
??DMA_InitStructure.DMA_PeripheralDataSize?=?DMA_PeripheralDataSize_HalfWord;//定義外設數據寬度為16位??
??DMA_InitStructure.DMA_MemoryDataSize?=?DMA_MemoryDataSize_HalfWord;?//DMA搬移數據尺寸,HalfWord就是為16位??
??DMA_InitStructure.DMA_Mode?=DMA_Mode_Circular;//循環轉換模式??
??DMA_InitStructure.DMA_Priority?=?DMA_Priority_High;//DMA優先級高??
??DMA_InitStructure.DMA_M2M?=?DMA_M2M_Disable;//M2M模式禁用??

//中斷配置????
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);??
NVIC_InitStructure.NVIC_IRQChannel?=DMA1_Channel1_IRQn;????
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority?=?0;??
NVIC_InitStructure.NVIC_IRQChannelSubPriority?=?0;???
NVIC_InitStructure.NVIC_IRQChannelCmd?=?ENABLE;??
NVIC_Init(&NVIC_InitStructure);??


??DMA_Init(DMA1_Channel1?&DMA_InitStructure

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????5791??2018-03-15?14:24??ADC\adc.c

?????文件????????134??2018-03-15?17:02??ADC\adc.h

?????目錄??????????0??2018-03-15?17:02??ADC

-----------?---------??----------?-----??----

?????????????????5925????????????????????3


評論

共有 條評論