发表于:2005-12-19 10:02:00
楼主
我用PIC18F2580内置的ECAN模块进行通讯调试。
首先切换到配置模式,进行初始化(波特率配置,接收屏蔽器,接收过滤器),然后切换到工作模式,往输出寄存器以及相应的标识寄存器里赋完值后,启动发送,这是发现在MCU的CANTX口,并没有波形输出。请问,是哪里出了问题?以下是我初始化模块以及发送模块的程序:
CAN_initial:
bcf TRISB,2
bsf TRISB,3
bsf CANCON,REQOP2 ;配置模式
bcf CANCON,REQOP1
bcf CANCON,REQOP0
banksel CANSTAT ;;;;;;;;;;;;;;;;;;;;;;;;;
movf CANSTAT,w
andlw B'11100000'
sublw B'10000000'
bnz $-6
;4M,125Kbps,16 ;波特率
movlw B'11000000' ;SJW=11,BRP=000000
movwf BRGCON1
movlw B'10111001' ;SEG1PH=111,PRSEG2=001
movwf BRGCON2 ;采样1次,SEG2PH2可编程
movlw B'01000100' ;唤醒,SEG2PH2=100
movwf BRGCON3
movlb D'15' ;RAM BANK 15
bcf RXB0CON,RXM1 ;接收器0只接收标准ID
bsf RXB0CON,RXM0
bsf RXB1CON,RXM1 ;接收器1只接收扩展ID
bcf RXB1CON,RXM0
; bcf RXB0CON,RX0DBEN ;非双缓冲
movlw &nb