CH573卡在ADC中斷
/*=========================================================================================================
*?Function?:?int16_t?ADC_UsbDNegative(void)
*?Describe?:?獲取ADC_Key通道數(shù)值
*?Input????:?void
*?Output???:?void
*?Return???:?void
*?Record???:?2021/11/29
==========================================================================================================*/
int16_t?ADC_Key(void)
{
????UINT8?i?=?0;
????UINT16?AdcValue=0;

????ADC_ExtSingleChSampInit(SampleFreq_3_2,ADC_PGA_0);
????ADC_ChannelCfg(?0?);

????adclen?=?0;
????ADC_ClearITFlag();
????PFIC_EnableIRQ(?ADC_IRQn?);
????ADC_StartUp();
????while(?adclen?<?12?);
????PFIC_DisableIRQ(?ADC_IRQn?);
????for(?i?=?2;?i?<?12;?i++?)
????????AdcValue?+=?abcBuff[i];

????AdcValue?/=?10;

????return?AdcValue;
}

__attribute__((interrupt("WCH-Interrupt-fast")))
__attribute__((section(".highcode")))
void?ADC_IRQHandler(?void?)?????????//adc中斷服務(wù)程序
{
??if(?ADC_GetITStatus()?)
??{
????ADC_ClearITFlag();
????if(?adclen?<?12?)
????{
??????abcBuff[adclen]?=?ADC_ReadConverValue();
??????ADC_StartUp();????????????????//?作用清除中斷標(biāo)志并開(kāi)啟新一輪采樣
????}
????adclen++;
??}
}

請(qǐng)問(wèn)一下為什么程序每次會(huì)卡在while(adclen<12)這個(gè)地方導(dǎo)致程序死機(jī),IO口做了浮空輸入初始化

如果將采樣改為

????for(?i?=?0;?i?<?12;?i++?)
????{
????????abcBuff[i]?=?ADC_ExcutSingleConver();??
????}

不使用中斷的話是可以正常采樣的

我這邊測(cè)試了一下,不會(huì)卡住的,你加我微信18921422767,我?guī)湍憧聪履阃暾拇a。


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

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