This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
参照example_adcDisplay.c实例
调用adcStartConversion(adcREG1,adcGROUP1);之后可以正常进行ADC转换,
调用while(adcIsConversionComplete(adcREG1,1)==0);之后,程序跳不出来,我工程的其他代码不能正常运行,
调用adcGetData(adcREG1, adcGROUP1,&adc_data[0]);之后也可以正常获得ID和Value,并且可以正常打印在串口上,
但是由于while(adcIsConversionComplete(adcREG1,1)==0);导致我的其他代码不行执行,请问这种情况如何解决?
在我的工程里面,我调用了两次adcgetdata这一些列函数,在第一处的时候会卡住不向下继续执行,无法打印出2处的内容,之后将1处的代码强制break跳出,就能继续执行到2,但是到2之后程序又卡住了,此时1处的打印也有很多问题,id和value值都发生了变化,请问这种情况如何进行解决?
1.检查一下ADC配置和中断
2.看看是否是死循环
3. 调试一下:在循环内部打印调试语句,查看一下是否执行到这里,再检查一下相关的寄存器
while(adcIsConversionComplete(adcREG1, 1) == 0) { // 添加调试语句 printf("Waiting for ADC conversion to complete...\n"); } // 如果程序执行到这里,表示转换已经完成,可以继续向下执行