Re: 關於溫度計程式的問題
|
||||
---|---|---|---|---|
新會員
|
嗚嗚 .....
我是參考spec上的寫法 先寫 while( !BusyADC12() ); 再寫 while( BusyADC12() ); 所以應該不是寫2次while的問題喔.... 我試著把第一個while拿掉過... 還是卡在 while( BusyADC12() ) 上 我想說是不是連訊號都沒有進來 所以不能轉換....
發表於: 2005/9/16 17:19
|
|||
|
Re: 關於溫度計程式的問題
|
||||
---|---|---|---|---|
初級會員
|
Hi! Shong:
您用了兩次 "while(BusyADC12()); ", 測試一次即可.
發表於: 2005/9/15 13:56
|
|||
|
關於溫度計程式的問題
|
||||
---|---|---|---|---|
新會員
|
我在dsPICDEM1.1上使用的是 TC1047A 這個chip做溫度的sensor
然後我寫了一個副程式從AN8去讀取電壓值做A/D convert 程式碼如下: int Read_TC1047A_Temperature(void) { int AD_Temp; unsigned int Channel, Adcon1_reg, Adcon2_reg, Adcon3_reg, PinConfig, Scanselect; ADCON1bits.ADON = 0; // Close the A/D sampling Channel = ADC_CH0_POS_SAMPLEA_AN8 & ADC_CH0_NEG_SAMPLEA_NVREF; SetChanADC12(Channel); // Configure the inputs for sample ConfigIntADC12(ADC_INT_DISABLE); // Disable the interrupt PinConfig = ENABLE_AN8_ANA; Scanselect = SKIP_SCAN_AN0 & SKIP_SCAN_AN1 & SKIP_SCAN_AN2 & SKIP_SCAN_AN3 & SKIP_SCAN_AN4 & SKIP_SCAN_AN5 & SKIP_SCAN_AN6 & SKIP_SCAN_AN7 & SKIP_SCAN_AN9 & SKIP_SCAN_AN10 & SKIP_SCAN_AN11 & SKIP_SCAN_AN12 & SKIP_SCAN_AN13 & SKIP_SCAN_AN14 & SKIP_SCAN_AN15; Adcon1_reg = ADC_MODULE_ON & ADC_IDLE_CONTINUE & ADC_FORMAT_INTG & ADC_CLK_AUTO & ADC_AUTO_SAMPLING_OFF; Adcon2_reg = ADC_VREF_AVDD_AVSS & ADC_SCAN_OFF & ADC_ALT_BUF_OFF & ADC_ALT_INPUT_OFF; Adcon3_reg = ADC_SAMPLE_TIME_10 & ADC_CONV_CLK_SYSTEM & ADC_CONV_CLK_13Tcy; OpenADC12(Adcon1_reg, Adcon2_reg, Adcon3_reg, PinConfig, Scanselect); ADCON1bits.SAMP = 1; // Start to sampling the A/D while(!ADCON1bits.SAMP); ConvertADC12(); // Start to convert the A/D while(ADCON1bits.SAMP); while(!BusyADC12()); while(BusyADC12()); // Waiting A/D until done AD_Temp = ReadADC12(8); // Get 12 bits A/D result return AD_Temp; } 但是程式始終卡在 while(BusyADC12()); // Waiting A/D until done 這一行, 請問各位高手,問題可能出在哪邊呢?? 是sensor的訊號沒有進來呢??? 還是我程式的設定有問題??? 謝謝.....
發表於: 2005/9/14 12:11
|
|||
|