我设计了一个温度监控设备,我想将记录的数据发送到我的电脑。我在通过Usart从PIC18F252向PC发送数据时遇到问题(购买USB 2.0至TTL UART 6PIN CP2102模块串行转换器)。当我使用putty时,我看不到任何数据被传输,因此决定使用串行连接器(直接连接到我的板引脚)运行测试,以查看我输入的数据是否与正在接收的数据相同,现在这是我的位置发现收到的数据是垃圾而不想让我想象的问题(所以它发送一些数据)。按下下载开关时会发送数据。
当我在MPLAB上运行程序时,我可以看到寄存器上的数据按原样存储,所以假设它与我的send data code
有关。我也在程序中设置了波特率。
任何帮助都将不胜感激。
代码:
; TX DATA TO PC
SEND_DATA(按下下载按钮时调用)
BCF INTCON,GIE ; Stop Int
MOVF MAX_DAYS,W
CALL TXIT
MOVF FSR0H,W
CALL TXIT
MOVF FSR0L,W
CALL TXIT
MOVLW 01H
MOVWF FSR1H
CLRF FSR1L
TX_LOOP
MOVF POSTINC1,W
CALL TXIT
MOVLW 06H
XORWF FSR1H,W
BTFSS STATUS,Z
GOTO TX_LOOP
BSF INTCON,GIE ; Restart Int
RETURN
TXIT
MOVWF TXREG
BTFSS TXSTA,TRMT
GOTO $-1
RETURN
;设置USART for TX
MOVLW B'00100100'
MOVWF TXSTA
MOVLW B'10000000'
MOVWF RCSTA
MOVLW .23
MOVWF SPBRG