我正在使用 PIC18(L)F1XK22。我正在尝试使用计时器 3 作为同步计数器。
PIC 使用内部振荡器运行。
CONFIG FOSC = IRC ; Internal oscillator
这应该关闭引脚 RA5 作为外部振荡器的使用。
T1CON 中的 T1OSCEN 为 0,T3CON 中的 TMR3CS 为 1。我已设置 RA5 TRIS 位并清除 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
添加最后两行是徒劳的,试图在计时器启动后关闭所有引体向上。
非常感谢任何帮助或想法。