• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users




(1) 2 »


Re: 10Bit ADC INT0
#12
初級會員
初級會員


查看用戶資訊
感激萬分....

ADC這部份的程式已OK了,原來小弟對AD1PCFG有誤解了,小弟以為是針對RB0~RB15做設定,1為做I/O,0為做這pin其它的功能來使用,例如小弟要使用AN9,AD1PCFG小弟就設成0x7FFFF,
應該是要設成0xFDFF.

雖然為何重新KEY過程式碼就可進入中斷,小弟也不太清楚,不過終於解決一個問題.

真是感謝版主不斷的解決小弟的問題.

發表於: 2008/4/25 18:04
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#11
初級會員
初級會員


查看用戶資訊
小弟將Main.c的code全部刪除,再重新key程式碼,竟然可以進入中斷了,真是奇怪,小弟key的程式碼跟之前無法動作的程式碼,也沒有什麼差別,真是夠了.

可是有個問題,為什麼buffer沒有轉換資料,可是小弟的AD1CON1bits.DONE有轉換完成的動作呀......--.--|||

發表於: 2008/4/25 17:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#10
初級會員
初級會員


查看用戶資訊
感謝版主

現在小弟只要開啟AD的中斷或是ADON其中一個,或者兩個都開
啟,都會造成小弟的Timer3的計數有問題.

~.~||| 唉...連手動取樣手動轉換都弄不出來..真是氣死人了....

小弟會持繼努力debug的........非常感謝版主不辭辛勞的解答....

發表於: 2008/4/25 16:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#9
版主
版主


查看用戶資訊
我在 PIC24FJ64GA002 裡是這樣設定 ADC 的,衣樣也是用 Timer3 來觸發ADC:
void __attribute__((interruptno_auto_psv)) _ADC1Interrupt(void)
{

        
IFS0bits.AD1IF ;
        
MyADC ADC1BUF0>>;
}
void ADC_Initial(void)
{

     
AD1PCFG 0xFFDF;            // AN5 is Analog , others are Digital;
     
AD1CON1 0x0046;            // 0b0000 0000 0100 0110 
                    // Auto convert using TMR3 as trigger source
                    // A/D Sample Auto-Start
     
AD1CON2 0x0000;            // ADCON2 = 0000 0000 0000 0000
    // Don't scan inputs , SMPi = 00 ( Interrupt for each sample/convert )
     
AD1CSSL 0x0000;            // no scan input selected .......
     
AD1CON3 0x1F3F;            // TAD = 8 Tcy , SAMC = 15 TAD 
    
AD1CHS =  0x0005;            // ADCHS = 0b 00000000 00000101

    
IFS0bits.AD1IF ;
    
IEC0bits.AD1IE ;            // Enable AD interrupt
    
IPC3bits.AD1IP ;            // Set Priority to 7     >> highest !!
 
     
AD1CON1bits.ADON 1;            // turn ADC ON
}

發表於: 2008/4/25 15:09
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#8
初級會員
初級會員


查看用戶資訊
Timer3的計數會變成220us已解決了.
之前都是先設Timer3初始值再設ADC的初始值,後來改過來,先設ADC的初始值,再設Timer3的初始值,Timer3 的計數就正常了,
為什麼會這樣小弟也不太清楚,不過正常了就好.


剩下的就是為何無法進入ADC的中斷了...

發表於: 2008/4/25 13:34
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#7
初級會員
初級會員


查看用戶資訊
硬體方面,小弟直接接2V到PIC24FJ32GA002的pin26,因為小弟是用AN9 Channel,Vref+和Vref-因為暫存設為AVDD和AVSS
所以這兩pin小弟都沒有接.

發表於: 2008/4/24 18:47
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#6
初級會員
初級會員


查看用戶資訊
小弟的Oscillator是用 FRC WITH PLL

ADCS7:ADCS0=63Tcy
SAMC4:SAMC0=14Tad

所以小弟的取樣時間為1.7us,轉換時間為4us.

發表於: 2008/4/24 18:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#5
初級會員
初級會員


查看用戶資訊
親愛的版主...
小弟約看了三遍了,雖然PIN24比dsPIC30少了一些暫存器的位元,但是大致上的設定還是一樣的,Timer3計數完之後會使SAMP
為0,使AD做轉換,轉換完之後硬體會自動將SAMP設1,使AD自動
取樣,等後下一次Timer3的Triger.

無法進入AD中斷小弟有找到一個問題,不知是否有關聯
若將IFS0bits.AD1IF除能,Timer3的1ms計數就會正常
若將IFS0bits.AD1IF致能,Timer3的計數就會變成220us,為什麼
會這樣,老實說小弟也不太清楚,小弟也還在debug當中...

發表於: 2008/4/24 16:47
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#4
版主
版主


查看用戶資訊
你有參考這裡的範例嗎?
dsPIC30F Peripheral Module Training - 10 bit ADC 的講義及練習
http://www.microchip.com.tw/modules/mydownloads/viewcat.php?cid=4

看過 Timer3 去觸發 AD 的轉換程式後再來討論。

發表於: 2008/4/24 15:47
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 10Bit ADC INT0
#3
初級會員
初級會員


查看用戶資訊
嗯....小弟又來了...

小弟參照ADC的範例來做,Timer3的計數正常,可是就是無法進入AD的中斷.

是否ConfigurationBits的選項需要做別的設定,還是小弟因為是使用FRC WITH PLL的關係,不能跟範例的AD1CON3的值設定一樣.

救命呀.....小弟已經搞了一星期了.....小弟快瘋了...

發表於: 2008/4/24 15:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------