完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
我使用下面的调用来启用一个数据就绪中断,当转换的数据可从AN2.PLBIAADCHSUAPLANDATABASEADY可中断(DRVAI ADCXIDID1,ADCHSH类12AN AN2)获得时,每个250MS触发采样。自己的工作是完美的。但是,我不需要调用PLBIAdAdsSyApple的RealPultGET(),因为我使用了一个比较器。如果我删除了对PiBLADADCHSUPPLANSFETRESUTGET()的调用,我会得到持续的中断。有人能解释发生了什么吗?注意:我尝试使用PLBIADADCHSZDigalSalabor可中断(DrvayAdcSIDID1,AdssxDigialSala比较器1);而不是PLIBAYADCHSUPPLATATEDATA ADYY可中断(DRVAI ADCXIDID1,ADCHSH类12FAN2);这将是一个更好的选项来限制中断的数量(如果它工作了),但我没有得到一个S。插入中断。
以上来自于百度翻译 以下为原文 I'm using the following call to enable a data ready interrupt when converted data is available from AN2. PLIB_ADCHS_AnalogInputDataReadyInterruptEnable(DRV_ADC_ID_1, ADCHS_CLASS12_AN2); Sampling is triggered every 250mS. My interrupt handler is based upon a HARMony example (below), this function as shown works perfectly. void IntHandlerDrvAdc(void) { uint32_t result; bool event; if( PLIB_ADCHS_AnalogInputDataIsReady(DRV_ADC_ID_1, ADCHS_AN2) ) { result = PLIB_ADCHS_AnalogInputResultGet(DRV_ADC_ID_1,ADCHS_AN2 ); //#### THIS IS NEEDED ??? if( PLIB_ADCHS_DigitalComparatorEventHasOccurred( DRV_ADC_ID_1, ADCHS_DIGITAL_COMPARATOR_1 ) ) { // Do something event = true; } } /* Clear ADC Interrupt Flag */ PLIB_INT_SourceFlagClear(INT_ID_0, INT_SOURCE_ADC_1); } However, I don't need the call to PLIB_ADCHS_AnalogInputResultGet() because I'm using a comparator. If I remove the call to PLIB_ADCHS_AnalogInputResultGet() I get constant interrupts. Can anyone explain what is happening? Note. I tried using PLIB_ADCHS_DigitalComparatorInterruptEnable( DRV_ADC_ID_1, ADCHS_DIGITAL_COMPARATOR_1 ); instead of PLIB_ADCHS_AnalogInputDataReadyInterruptEnable(DRV_ADC_ID_1, ADCHS_CLASS12_AN2); This would be a better option in limiting the number of interrupts (if it worked), but I didn't get a single interrupt. |
|
相关推荐
4个回答
|
|
|
它看起来像太多的抽象,不知道发生了什么。我有一些类似的原因是不读频道,所以它立即被中断。
以上来自于百度翻译 以下为原文 It looks like too many abstractions to know what is really happening. I had something similar caused by not reading the channels, so it immediately re interrupted. |
|
|
|
|
|
ADC就绪位仅在从ADC寄存器读取数据时清除?
以上来自于百度翻译 以下为原文 The ADC ready bit is only cleared when the data is read from the ADC register? |
|
|
|
|
|
如上所述。您必须读取值以清除中断。
以上来自于百度翻译 以下为原文 As above. You have to read the value to clear the interrupt. |
|
|
|
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1124浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
873浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
475浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 06:55 , Processed in 1.719316 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1884