[问题] PIC的ADC使用问题

楼主: jiqian (JIM)   2016-10-05 17:49:05
我用的是PIC16LF1782,
想请问, 我的应用是将
温度传感器->pic->bluetooth
先不要用FVR的话,
读到的值不是应该要0~4095吗? 可是我读的值都是到19920~20192乱跳
配置图如

TXRX接给蓝芽,AN3接收ANALOG
看到他ADC有些Vref觉得蛮困惑的, 这些有需要进行什么设定吗?
实际电路上又要去接什么东西吗?

uint16_t ADCResult;
char charADC[20];
ADCResult=ADC_GetConversion(channel_AN3);
sprintf(charADC,"%d",(int)ADCResult);
USART_putstring("ADCResult AN3 = ");
USART_putstring(charADC);
卡了一个礼拜了, 实在抓不到头绪, 还请各位大师指点迷津!!
作者: tommycc (system fail)   2016-10-05 23:20:00
用%u or %hu?sorry 我少看强制转型会不会是你的MCC版本差异https://goo.gl/B2cIhS是说你ADC设12bit => 0~4095
作者: chuegou (chuegou)   2016-10-07 00:27:00
看起来是因为靠左对齐的关系方法1 adc的结果暂存器设定改成靠右对齐方法2 取样结果右移4 (>>4)

Links booklink

Contact Us: admin [ a t ] ucptt.com