我使用的是PIC18(L)F1XK22。我正在尝试将计时器3用作同步计数器。
PIC正在使用内部振荡器运行。
CONFIG FOSC = IRC ; Internal oscillator
这应该关闭使用引脚RA5作为外部振荡器。
T1CON中的T1OSCEN为0,T3CON中的TMR3CS为1.我已将RA5 TRIS位置1并清零RA5 WPU位。
我的问题是引脚RA5(T13CLKI)看起来像有一个有效的上拉或被某物驱动。
我在RA5前面有以下电阻网络。
5 --- ------ 10K ----- X 24K -----> RA5
点X由霍尔效应传感器驱动。当X为0伏时,RA5为2.2伏。将24K电阻减小到10K可将X降至1.1伏。在计数器工作之前,我必须将电阻减小到大约4K。
以下是我用来设置计时器的代码......
#define TM3CK_TRIS TRISA,TRISA5,A
#define TM3CK_WPU WPUA,WPUA5,A
BCF PIE2,TMR3IE,A ; Disable Timer3 interrupt
BSF TM3CK_TRIS ; set RA5 (T13CKI) as input
BCF TM3CK_WPU ; disable weak pull up on RA5
; pull up and isolation resistor are external
CLRF TMR3H,A ; clear Timer 3
CLRF TMR3L,A
MOVLW 0x8F ; 1xxx xxxx RD16 16 bit read/write
; x0xx xxxx unused bit
; xx00 xxxx T3CKPS 1:1 prescale
; xxxx 1xxx T3CCP1 something to do with comparators
; xxxx x1xx T3SYNC Do not sychronize with external clock
; xxxx xx1x TMR3CS external clock from RA5 (T13CKI)
; xxxx xxx1 TMR3ON enable timer
MOVWF T3CON,A
BCF TM3CK_WPU
BSF INTCON2,RABPU,A ; disable all pull ups
在计时器启动后,最后两行添加了徒劳的尝试关闭所有上拉。
非常感谢任何帮助或想法。
答案 0 :(得分:0)
原来我的PIC芯片损坏了,换了一个备用,问题就消失了。