會員登陸
帳號:

密碼:

記住我



忘記密碼?

現在註冊!
網站導航
最新下載
訪問統計 (自2012/5/3)


正在流覽:   1 名訪客





PIC16F18344的RC7腳,無法做AD轉換,誠請先進們協助為何。
高級會員
註冊日期:
2007/04/16 20:42
所屬群組:
註冊會員
文章: 81
等級: 7; EXP: 95
HP : 0 / 173
MP : 27 / 6143
離線
採Fosc=16MHz,,MCC為Ver.3.75,用TMR3來自動Trigger,不用ADC中斷取轉換值,ADC採內建Vref=4.096V,透過adc_result_t ADC_GetConversionResult(void)函數取值,不管類比輸入為何,永遠在是00AC附近跳動;請先進們指正下面指令,何處有誤? 相關程式與MCC的畫面如下圖。

void main(void)
{
uint16_t convertedValue;
// initialize the device
SYSTEM_Initialize();
__delay_ms(5);
LCD_Set_Cursor(0,0);
putrsLCD((const far char*)"ADC=");
ADC_SelectChannel(V_ANC7); //選RC7
// ADC_StartConversion(); //Voltage Convert
while(ADC_IsConversionDone());
convertedValue = ADC_GetConversionResult(); //Get ADC Result
puthexLCD(convertedValue>>8); //Print ADC Result of Hex High
puthexLCD(convertedValue); //Print ADC Result of Hex Low
ConvertADCVoltage(convertedValue); //呼叫 app.c 裡的 10 進制轉換函數
for(;;);
}

void SYSTEM_Initialize(void)
{

PMD_Initialize();
PIN_MANAGER_Initialize();
OSCILLATOR_Initialize();
WDT_Initialize();
FVR_Initialize();
ADC_Initialize();
TMR3_Initialize();
TMR2_Initialize();
EUSART_Initialize();
}

附加檔案:



jpg  ADC..JPG (0.00 KB)


jpg  TMR3.JPG (0.00 KB)


5月09日 22:32:57
轉換PDF檔 列印


Re: PIC16F18344的RC7腳,無法做AD轉換,誠請先進們協助為何。
高級會員
註冊日期:
2007/04/16 20:42
所屬群組:
註冊會員
文章: 81
等級: 7; EXP: 95
HP : 0 / 173
MP : 27 / 6143
離線
補充上述說明之2個MCC設定圖,ADC與TMR3

附加檔案:



jpg  ADC..JPG (39.27 KB)
3325_5cd7bbe09ccd8.jpg 653X299 px

jpg  TMR3.JPG (54.89 KB)
3325_5cd7bbec01988.jpg 837X410 px

5月12日 14:25:16
轉換PDF檔 列印


Re: PIC16F18344的RC7腳,無法做AD轉換,誠請先進們協助為何。
版主
註冊日期:
2004/04/30 10:53
來自 CAE, Microchip
所屬群組:
站務管理者
註冊會員
MICROCHIP
文章: 14737
等級: 73; EXP: 42
HP : 1086 / 1810
MP : 4912 / 79671
離線
1. 請確定在 MCC 的 "Pin Module" 視窗下開啟 I/O 設定視窗。檢查一下 pim module 與 ADC 的腳位中的 RC7 是否有設成 ADC 的輸入腳。

2. 如果用 Timer3 觸發 ADC 的轉換,如果不會如期動作。建議先將ADC 與 Timer3 分開測試一下。確定 ADC 可以用手動轉換 及 Timer3 可以正確地中斷計時。

3. 一般 Timer3 觸發 ADC 的做法,Timer3 可以不用啟動中斷,但ADC 需設成自動轉換且最好使用 ADC 中斷讀取 ADC 的值的方式轉換。

也就是Timer3 逾時即會觸發 ADC 座自動取樣及轉換,轉換結束後即會產生 ADC 的中斷,這時先清除 ADIF 並讀取 ADC 的值即可。

5月13日 11:06:52
轉換PDF檔 列印


Re: PIC16F18344的RC7腳,無法做AD轉換,誠請先進們協助為何。
高級會員
註冊日期:
2007/04/16 20:42
所屬群組:
註冊會員
文章: 81
等級: 7; EXP: 95
HP : 0 / 173
MP : 27 / 6143
離線
感謝版主啟發式的回應;
最後將X IDE與xc8 移掉後再重新安裝,於main中簡單的1行如下指令,就OK了。
adc_result_t adc_value = ADC_GetConversion(channel_ANC7);
再次感謝版主啟發式的回應。

5月13日 23:07:13
轉換PDF檔 列印






無法在此發表文章
可以在此觀看文章
無法回覆文章
無法編輯自己的文章
無法刪除自己的文章
無法發起投票調查
無法在此投票
無法上傳附加檔案
無法不經審核直接發表文章

[進階搜尋]


搜尋
Microchip連結

網頁捷徑
教育訓練
其它網站連結
電話: 02-25000405
產品技術問題產品技術支援專線:0800-717718 台北02-25088600 新竹03-5778366 Ext. 8600 高雄07-2137830 MicrochipDIRECT 專線: 07-2137830
Powered by XOOPS © 2001-2012 The XOOPS Project