Re: C語言問題...
|
||||
---|---|---|---|---|
版主
|
注意一下,在PIC18Fxxxx裡 INT0 永遠為高優先權的中斷。
發表於: 2004/12/30 13:43
|
|||
|
Re: C語言問題...
|
||||
---|---|---|---|---|
中級會員
|
我的問題已經解決了
加入 INTCON3bits.INT1IP = 0; INTCON3bits.INT1IE = 1; 即可 我的想法是雖然Libraries很好用很方便,但是太依賴反而會造成困擾,我覺得還是要從暫存器下手設定比較可靠,個人想法~~
發表於: 2004/12/29 3:30
|
|||
|
Re: C語言問題...
|
||||
---|---|---|---|---|
版主
|
SetPWM1(nn) 函數,其中 nn 值可從 0 ~ 1023,PWM的解析度是 10-bit 的。所以你填入 255 就會得到 5V * 255 / 1024 = 1.25V,PR2 設的是Period的 b9-b2的值,另外的 b1~b0是所謂的 Q clock (Fosc/4) 所產生的。
用 Peripheral library 是比較簡單,不然你就要像使用組合語言一樣每個暫存器都要設到,新的方法是使用 VDI 的軟體工具。
發表於: 2004/12/25 22:22
|
|||
|
Re: C語言問題...
|
||||
---|---|---|---|---|
中級會員
|
謝謝!!
我想我大概了解了 還有2個問題請教 (1) SetDCPWM1(0); 其中()中的值為duty-cycle ?? (因為我設255時,PR2也為255時,PWM輸出腳只量到1~2V的電壓) (2) 另外,以C寫時,ㄧ般你們會用Libraries或是自行使用C將各個相關暫存器設起 ?
發表於: 2004/12/25 12:37
|
|||
|
Re: C語言問題...
|
||||
---|---|---|---|---|
版主
|
#include <p18f8720.h>
typedef union { int A; char B[2]; }T_Value; T_Value ADCResult; void main(void) { ADCResult.B[0]=0xaa; ADCResult.B[1]=0x55; } 執行後ADCResult.A = 0x55AA
發表於: 2004/12/24 15:10
|
|||
|
Re: C語言問題...
|
||||
---|---|---|---|---|
高級會員
|
T_Value是變數的原型,例如int,char一樣
而ADCresult則是變數名稱,例如int i一樣的意思
發表於: 2004/12/23 15:16
|
|||
|
C語言問題...
|
||||
---|---|---|---|---|
中級會員
|
有一個C語言問題想不出來,不知道可否位我解答一下,謝謝~
typedef union { int A; char B[2]; }T_Value; void main(void) T_Value ADCResult; <-----請問這句的涵義為何
發表於: 2004/12/23 12:09
|
|||
|