亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
STM8L151配置定時器2觸發(fā)AD采樣,DMA傳輸,但目前怎么也進(jìn)不了DMA中斷
[打印本頁]
作者:
ljfljfljf123
時間:
2021-7-22 17:05
標(biāo)題:
STM8L151配置定時器2觸發(fā)AD采樣,DMA傳輸,但目前怎么也進(jìn)不了DMA中斷
void Timer2_Config_Init(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_TIM2,ENABLE); //時鐘配置
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_Prescaler_1, TIM2_CounterMode_Up,16*624); //1分頻,向上計數(shù),每625us定時中斷一次
TIM2_ARRPreloadConfig(ENABLE);
// TIM2_SelectOutputTrigger(TIM2_TRGOSource_Update);
// TIM2_SelectOutputTrigger(TIM2_TRGOSource_Enable);
// TIM2_ITConfig(TIM2_IT_Update , ENABLE);
TIM2_ITConfig(TIM2_IT_Update , DISABLE);
}
void Ad_Config_Init(void)
{
ADC_DeInit(ADC1);
CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);//打開ADC1外設(shè)的時鐘
GPIO_Init(GPIOA, GPIO_Pin_6, GPIO_Mode_In_FL_No_IT);//電源
GPIO_Init(GPIOB, GPIO_Pin_0, GPIO_Mode_In_FL_No_IT);//電流采樣
GPIO_Init(GPIOB, GPIO_Pin_1, GPIO_Mode_In_FL_No_IT);//參考電壓采樣
delay_us(20);
ADC_Init(ADC1, ADC_ConversionMode_Single, ADC_Resolution_12Bit, ADC_Prescaler_1);//初始化ADC1,模式,12位分辨率,ADC時鐘1分頻
ADC_SamplingTimeConfig(ADC1, ADC_Group_SlowChannels, ADC_SamplingTime_384Cycles);//配置ADC采樣時間,384個時鐘周期
ADC_VrefintCmd(DISABLE); //禁止內(nèi)部電壓基準(zhǔn)源
ADC_ITConfig(ADC1, ADC_IT_EOC, DISABLE);
ADC_DMACmd(ADC1, ENABLE);
ADC_Cmd(ADC1,ENABLE); //使能ADC1
ADC_ChannelCmd(ADC1, ADC_Channel_0, ENABLE);//打開ADC1的0通道
ADC_ChannelCmd(ADC1, ADC_Channel_17, ENABLE);//打開ADC1的17通道
ADC_ChannelCmd(ADC1, ADC_Channel_18, ENABLE);//打開ADC1的18通道
}
#define ADC1_DR_ADDRESS ((uint16_t)0x5344)
#define BUFFER_SIZE ((uint8_t) 0x03)
#define BUFFER_ADDRESS ( (uint32_t)(&Buffer))
uint16_t Buffer[3];
void DMA1_Config_Init(void)
{
CLK_PeripheralClockConfig(CLK_Peripheral_DMA1, ENABLE);
DMA_DeInit(DMA1_Channel0);
DMA_GlobalDeInit();
SYSCFG_REMAPDMAChannelConfig(REMAP_DMA1Channel_ADC1ToChannel0);
DMA_Init(DMA1_Channel0,
BUFFER_ADDRESS,//緩沖區(qū)地址
ADC1_DR_ADDRESS,//ADC數(shù)據(jù)寄存器地址
BUFFER_SIZE,//緩沖區(qū)大小
DMA_DIR_PeripheralToMemory,//外設(shè)到內(nèi)存
DMA_Mode_Circular,//循環(huán)轉(zhuǎn)換
DMA_MemoryIncMode_Inc,//內(nèi)存地址自增
DMA_Priority_High,//優(yōu)先級為高
DMA_MemoryDataSize_HalfWord );//內(nèi)存數(shù)據(jù)是半字位寬
DMA_SetCurrDataCounter(DMA1_Channel0,BUFFER_SIZE);//設(shè)置轉(zhuǎn)速的數(shù)據(jù)個數(shù)
DMA_Cmd(DMA1_Channel0, ENABLE); //DMA Channel0 enable
DMA_ITConfig(DMA1_Channel0, DMA_ITx_TC, ENABLE); // Enable DMA1 channel0 Transfer complete interrupt
DMA_GlobalCmd(ENABLE); //DMA enable
}
INTERRUPT_HANDLER(DMA1_CHANNEL0_1_IRQHandler,2)
{
unsigned char i=0;
// ADC_Cmd(ADC1,DISABLE);
if(DMA_GetFlagStatus(DMA1_FLAG_TC0)!= RESET)
{
}
DMA_ClearITPendingBit(DMA1_IT_TC0);
}
INTERRUPT_HANDLER(TIM2_UPD_OVF_TRG_BRK_USART2_TX_IRQHandler,19)
{
if(flg==0)
{
Vcc_Swich_On;
flg=1;
}
else
{
Vcc_Swich_Off;
flg=0;
}
TIM2_ClearITPendingBit(TIM2_IT_Update);
}
void Time_Adc_Dma_Init(void)
{
Timer2_Config_Init();
Ad_Config_Init();
DMA1_Config_Init();
ADC_ExternalTrigConfig(ADC1,ADC_ExtEventSelection_Trigger2,ADC_ExtTRGSensitivity_Falling);
TIM2_SelectOutputTrigger(TIM2_TRGOSource_Update);
TIM2_Cmd(ENABLE);
// ADC_SoftwareStartConv(ADC1);
}
作者:
ljfljfljf123
時間:
2021-7-26 16:32
解決了,重點在這句ADC_ExternalTrigConfig(ADC1,ADC_ExtEventSelection_Trigger2,ADC_ExtTRGSensitivity_Falling);
用time2,ADC_ExtEv
entSelection_Trigger3,上升沿觸發(fā)AD
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1