【沁恒微CH32V307評估板】ADC_DMA實驗

采集AD輸入電壓值,并點亮小燈。但小燈無法點亮。同時,單步運行,每次adc_value的值不一樣。

int main(void) { u16 i=0; uint16_t adc_value; SystemCoreClockUpdate(); Delay_Init(); USART_Printf_Init(115200); printf("SystemClk:%d\r\n",SystemCoreClock);

? ? ? ? ?printf( "ChipID:%08x\r\n", DBGMCU_GetCHIPID() ); ? ? ? ?ADC_Function_Init(); ?

? ? ? ? printf("CalibrattionValue:%d\n", Calibrattion_Val); ? DMA_Tx_Init( DMA1_Channel1, (u32)&ADC1->RDATAR, (u32)TxBuf, 1024 ); DMA_Cmd( DMA1_Channel1, ENABLE ); ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_239Cycles5 ); ADC_SoftwareStartConvCmd(ADC1, ENABLE); ? ? ? ?Delay_Ms(50); ADC_SoftwareStartConvCmd(ADC1, DISABLE); GPIO_Toggle_INIT();

? ? ? ? for(i=0; i<1024; i++) { printf( "%04d\r\n", Get_ConversionVal(TxBuf[i])); Delay_Ms(10); } while(1) { ? adc_value=Get_ADC_Val(ADC_Channel_1); ? ? ?

? ? ? if( adc_value>0 )//斷點處 ? ? ? ?{ ? ? ? ? ? ?GPIO_WriteBit(GPIOB, GPIO_Pin_1, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET)); ? ? ? ? ? Delay_Ms(1000); ? ? ? ?} } }


熱門產(chǎn)品 : USB3.0 HUB控制器:CH634

進(jìn)入while循環(huán),把DMA關(guān)掉,將adc_value變量加上volatile試一下,注意ADC的頻率不要超過14M,供電電壓要穩(wěn)定,且不要超過3.6V。


只有登錄才能回復(fù),可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频