[問題] PIC的ADC使用問題

作者: jiqian (JIM)   2016-10-05 17:49:05
我用的是PIC16LF1782,
想請問, 我的應用是將
溫度感測器->pic->bluetooth
先不要用FVR的話,
讀到的值不是應該要0~4095嗎? 可是我讀的值都是到19920~20192亂跳
配置圖如
http://imgur.com/a/AdgcY
TXRX接給藍芽,AN3接收ANALOG
看到他ADC有些Vref覺得蠻困惑的, 這些有需要進行什麼設定嗎?
實際電路上又要去接什麼東西嗎?
http://imgur.com/a/oW4lq
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