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


Browsing this Thread:   1 Anonymous Users






Re: 請問dspic30F2010中的PORTB與LATB之間的差異?
#4
管理員
管理員


查看用戶資訊
Hi Stanely,

最近才發現還有一個來自你的問題尚無人回應 , 於是看看是否還對你有所幫助:

關於公式 , 當然有 . 想想看若 funcy 為 dsPIC 的實際指令週期 , 則在 Timer1 的預除器為 1:1 的情況下且PR1= funcy 時. Timer1 的中斷間隔剛好是 1 秒 .

但是 , PR1 只有 16 bits , 最大值只有 65535 , 所以必需借助預除器 . 預除器的值有 1:1 , 1:8 , 1:64 , 1:256 四種選擇 .

So, 7372800/256 等於用 1:256 為預除器值時可以產生 1 秒中斷的 PR1 值.

若要產生的間隔不是一秒 , 則要再除或乘上一個值. 以 1/2 秒為例 , 就是 funcy/256/2

以下的範例可產生 1/10 秒的 Timer1 溢位速率, 有興趣可用軟體模擬驗證一下 , 粉準喔 ! 但記得 Debugger > Setting > Processor Frequency 要設定為 funcy 的 4 倍 , 即 29.4912 Mhz

#include <timer.h>
#include <p30F2010.h>

void Initial_Timer1( void ) ;

//---------------------------------------------------------------------
// Configuration bits

_FOSC(CSW_FSCM_OFF & XT_PLL4); //XT with 4xPLL
_FWDT(WDT_OFF); //Watchdog timer Dis
_FBORPOR(PBOR_OFF & MCLR_EN); //Brown-out ...
_FGSS(CODE_PROT_OFF); //Code protect off

int main( void )

{
Initial_Timer1( ) ;


while (1)
{
while ( IFS0bits.T1IF == 0 ) ;

IFS0bits.T1IF = 0 ;
}
}

void Initial_Timer1( void )
{
ConfigIntTimer1( T1_INT_PRIOR_7 & T1_INT_OFF ) ;
OpenTimer1( T1_ON & T1_IDLE_STOP & T1_GATE_OFF & T1_PS_1_256 & T1_SYNC_EXT_OFF & T1_SOURCE_INT ,
7372800 /256/10 ) ;
}


發表於: 2004/9/26 22:01
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dspic30F2010中的PORTB與LATB之間的差異?
#3
新會員
新會員


查看用戶資訊
謝謝囉..我大概知道要怎麼處理...
對囉..像我使用30F2010這一顆IC的Timer1時..我要怎麼設定我中斷的時間呢?其中有關的戰存器有T1con及PR,而我使用的震盪器是7.37MHZ,我要如何設定才可以產生每1秒產生中斷的情況呢?經倍頻*4後,funcy=7.37MHZ的震盪器的內部工作內頻30MHZ,每一指令週期為0.135us,其中我參考了範例程式T1CON=0x8030,PR=funcy/256/2,可以產生0.5秒的中斷情況,其中PR為什麼要除256及除2呢?
有公式可循嗎?
謝謝..

發表於: 2004/8/20 0:37
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請問dspic30F2010中的PORTB與LATB之間的差異?
#2
版主
版主


查看用戶資訊
不曉得您程式實際上是怎麼寫的,以及硬體是怎麼接的,所以難以直接回答。

PIC16只有PORTB,所以有可能有因Read-Modify-Write現象而造成困擾 (請參考右方「江湖一點訣」中Read-Modify-Write的說明)。

LATB的出現 (PIC18和dsPIC都有),就是用來避掉Read-Modify-Write的現象。

也許,懂了Read-Modify-Write之後,您就知道怎麼解決您的問題了。

發表於: 2004/8/13 22:12
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請問dspic30F2010中的PORTB與LATB之間的差異?
#1
新會員
新會員


查看用戶資訊
如提..這兩個暫存器是一樣的嗎...
為什麼我在30F2010中用PORTB就不無法正常反應呢...
一定要使用LATB才可以ㄋ...
我哪裡使用上有錯呢?/

發表於: 2004/8/13 10:27
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... ]

教育訓練中心

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