简单的PIC24的AD转换不了

2019-03-25 18:47发布

用PIC24HJ128GP510芯片AD转换,在采集之后转换不了,DONE不能被置1
#include<p24HJ128GP510.h>
volatile static unsigned int LedNumVal=1059 ;void lcddelay(unsigned char ms)   //(3j+11)*i个指令周期{ unsigned char i,j; // for(i=ms;i>0;i--)     for(j=996;j>0;j--)  {;}  }
void initacd(void){ AD1PCFGL=0XfffF; AD1PCFGH=0XFFFF; AD1PCFGLbits.PCFG3=0; //AN3 TRISBbits.TRISB3=1; AD1CON1=0X0000; //SHOU=1采样  SAMP=0开始转换 AD1CON2=0X0000; //Vadd  Vss  1个采样产生一个中断 AD1CON3=0X0009;    //9*Tcy=3*1/3us ;Fosc=6M;32*Tad AD1CHS0=0X0003; //AN3 AD1CSSL=0; AD1CON1bits.ADON=1;     //开启AD模块 }

main(void){  while(1)  //进入循环状态  {    initacd();       lcddelay(10);   AD1CON1bits.SAMP = 1;  lcddelay(10);  AD1CON1bits.SAMP = 0;  while(!AD1CON1bits.DONE);  LedNumVal = ADC1BUF0;    }   }
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
512213634
1楼-- · 2019-03-25 20:58
是芯片跟板子不匹配才导致不能采样,谢谢大家的帮忙
做自己的高工
2楼-- · 2019-03-26 01:10
你好,我现在使用的是PIC24fj128ga010也出现这种情况,在采集之后转换不了,DONE不能被置1。你说是是芯片跟板子不匹配才导致不能采样,是什么意思了?

一周热门 更多>