Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
版主
|
如果預設值是你所要的通常是可以不用特別去設定的。一般還是會建議如有某些位元須更改最好是將整個暫存器重設,以避免不必要的錯誤。
參照: 還有預設值的部份是不是程式執行時就算沒特別寫進去也會執行 這要看運氣,運氣好會正常,運氣差時會不動,運氣很背時程式就會有時正常有時不正常這時候抓 Bug 會令人抓狂。
發表於: 2009/4/27 17:01
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
版主
|
大部分的周邊暫存器在初開機時都會有的Default 的值,可以參考Data Sheet 裡的說明,底下就暫存器Default 值說明一下:
R/W-0 : 此位元可讀可寫,開機初始設定值為 0 U-1 : 此位元未使用,Default = 1 R-0 : Read Only bit, Default = 0 Attach file: (0.00 KB)
發表於: 2009/4/27 16:25
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
新會員
|
PWMCON1=0; 可以這樣寫, 但我習慣用0x0000, 清楚一點。
發表於: 2009/4/27 15:39
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
初級會員
|
參照:
那是不是可以將下面程式 int main(void) { /*---PWM1 INITIALIZATION---*/ IOCON1bits.PENH=1; IOCON1bits.PENL=1; IOCON1bits.PMOD=0; PWMCON1bits.FLTSTAT=0; PWMCON1bits.CLSTAT=0; PWMCON1bits.TRGSTAT=0; PWMCON1bits.FLTIEN=0; PWMCON1bits.CLIEN=0; PWMCON1bits.TRGIEN=0; PWMCON1bits.ITB=0; PWMCON1bits.MDCS=0; PWMCON1bits.DTC=0; PWMCON1bits.XPRES=0; PWMCON1bits.IUE=0; PDC1=4807; DTR1=288; ALTDTR1=288; } 更改成 int main(void) { /*---PWM1 INITIALIZATION---*/ IOCON1=0; IOCON1bits.PENH=1; IOCON1bits.PENL=1; PWMCON1=0; PDC1=4807; DTR1=288; ALTDTR1=288; } 請指點一下迷津
發表於: 2009/4/27 15:29
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
新會員
|
好像是, PWMCON1等寄存器預設為0, 你把PWMCON1bits.ITB=1, 就是把裏面的其中一個bit設定為1
發表於: 2009/4/25 20:12
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
版主
|
先了解一下 ANSI C 語言裡有關位元結構的意義,這是 C 的基本。
PWMCON1=0xnnnn 的意思是說設定一個 16-bit 的立即值給 PWMCON1 暫存器。這樣就不用一個 bit 一個 bit 的去設定。
發表於: 2009/4/24 17:24
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
初級會員
|
參照:
意思是假設PWMCON1=0xnnnn代表設定值都為0 現在要將其中一項例如PWMCON1bits.ITB設為1 我可以寫成這樣嗎? int main(void) { PWMCON1=0xnnnn; PWMCON1bits.ITB=1; }
發表於: 2009/4/24 16:51
|
|||
|
Re: 請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
版主
|
要怎樣改變要看 Data Sheet 的Default 值及你的需求。
不須一項一項的設定,可以一次用 PWMCON1= 0xnnnn 的方式一次設定。總之,這是要看 Data Sheet 的。
發表於: 2009/4/24 16:30
|
|||
|
請問關於dsPIC33F設定問題
|
||||
---|---|---|---|---|
初級會員
|
最近看到一個程式
int main(void) { /*---PWM1 INITIALIZATION---*/ IOCON1bits.PENH=1; IOCON1bits.PENL=1; IOCON1bits.PMOD=0; PWMCON1bits.FLTSTAT=0; PWMCON1bits.CLSTAT=0; PWMCON1bits.TRGSTAT=0; PWMCON1bits.FLTIEN=0; PWMCON1bits.CLIEN=0; PWMCON1bits.TRGIEN=0; PWMCON1bits.ITB=0; PWMCON1bits.MDCS=0; PWMCON1bits.DTC=0; PWMCON1bits.XPRES=0; PWMCON1bits.IUE=0; PDC1=4807; DTR1=288; ALTDTR1=288; } 像上面的一些設定是不是都要一個一個寫出來,還是說有初值設定,要改變的在特別寫出來? 補充: 我再說清楚一點,有沒有預設值都為0或1,要改變其中一項設定在寫出來
發表於: 2009/4/24 15:37
Edited by Ronald3112 on 2009年04月24日 15:57:24
|
|||
|