问答

汇集网友智慧,解决技术难题

21ic问答首页 - PIC18F46K22 串口1 不进入接收中断

PIC18F46K22 串口1 不进入接收中断

ZF12316662022-03-08
        使用中断接收数据方式,串口助手提供数据,串口1接收完成标 RC1IF 不置1 ;        使用示波器观测到RC7端口波形正常;
PS:此芯片双串口中,串口2接收发送均正常,串口1发送正常;
以下为串口1初始化配置:                MOVLW                B'00000000'        ; 设:RC 端口 为数字接口状态
                MOVWF                ANSELC                ;

                MOVLW                B'11000000'        ; 设:RC6,RC7=IN;其余OUT
                MOVWF                TRISC                ; 装:TRISC 输入输出控制寄存器


; - - - - - - - 初始化:异步 通讯 寄存器 - - - - - - - - - - - - - - - - - - - - - - - -

                MOVLW                B'00001000'        ; BRG16=1
                MOVWF                BAUDCON1

                MOVLW                B'00000100'        ;
                MOVWF                TXSTA1

                MOVLW                B'10110000'        ; 异步模式,8位,高速
                MOVWF                RCSTA1

                CLRF                SPBRGH1
                MOVLW                D'138'
                MOVWF                SPBRG1                ; 波特率设置为115200 D'138'

                BSF                PIE1,TX1IE        ; 置:TX中断 使能
                BCF                IPR1,TX1IP        ; 清:TX中断 低优先级

                BSF                PIE1,RC1IE        ; 置:RC中断 使能
                BSF                IPR1,RC1IP        ; 置:RC中断 高优先级

                BSF                RCON,IPEN        ; 置:中断优先级 使能位
                BSF                INTCON,PEIE        ; 置:外部中断 使能位
                BSF                INTCON,GIE        ; 置:全部 中断 使能位


以下为中断代码:
INTSERVE_H
                BCF                INTCON,GIE        ; 置:全部 中断 使能位
                BCF                INTCON,PEIE        ; 置:外部中断 使能位

; - - - - - - - 中断现场保护- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                MOVWF                W_TEMP
                MOVFF                STATUS,STATUS_TEMP
                MOVFF                BSR,BSR_TEMP
                MOVFF                PCLATH,PCLATH_TEMP

                BTFSC                PIR3,RC2IF        ; 查:异步 接收中断 标志位
                GOTO                COMM_LCD        ; 转到 LCD接收

                BTFSC                PIR3,TX2IF        ; 查:LCD异步通讯 TX 中断标志
                GOTO                SEND_DEAL        ; 到:"SEND_DEAL" 继续 发送数据

                BTFSC                PIR1,RC1IF        ; 查:异步 接收中断 标志位
                GOTO                COMM_RS                ; 转到 硬件通讯接收

                GOTO                RE_HRE                ;

; - - - - - - - 中断现场保护- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COMM_RS
                BSF                PORTC,TEST        ;
                BCF                PIE1,RC1IE        ; 清: RX中断 使能

; - - - - - - - 装载 下一个地址 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                INCF                RX_COUNT,F
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                LFSR                1,H'0550'                        ; 设:间接数据寄存器 H'0550' 地址指针
                MOVLW                H'4F'
                ADDWF                RX_COUNT,W
                MOVWF                FSR1L

                MOVFF                RCREG1,POSTINC1        ; 装:寄存器  H'0520'起

                GOTO                COMM_RS_0B        ; 中断返回
; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COMM_RS_0B

                BCF                RCSTA1,CREN        ; 置:RC中断 连续接收 使能
                BSF                PIE1,RC1IE        ; 置:RC中断 使能
                BSF                RCSTA1,CREN        ; 置:RC中断 连续接收 使能

; - - - - - - - 中断现场恢复 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RE_HRE
                MOVFF                BSR_TEMP,BSR
                MOVF                W_TEMP,W
                MOVFF                STATUS_TEMP,STATUS
                MOVFF                PCLATH_TEMP,PCLATH

                BSF                INTCON,PEIE        ; 置:外部中断 使能位
                BSF                INTCON,GIE        ; 置:全部 中断 使能位

                CLRWDT

                RETFIE                                ; 中断返回



求大神指教!!!!





回答 +关注 17
1306人浏览 5人回答问题 分享 举报
5 个回答

您需要登录后才可以回复 登录 | 注册