UART rankos Pagalba PIC16F877A

S

sora5563

Guest
Aš pastaruoju metu bando siųsti duomenis į ir iš PIC16F877A per UART ir rezultatas rodo,
į HyperTerminal, bet yra problema, kad nieko išeina
ne HyperTerminal.

Čia yra mano šaltinio kodą,
--------------------------------------------
LIST p = 16F877A
# Include <P16F877A.inc>
__CONFIG 0x3F32

Scratch kongresas 0x20
TVP kongresas 0x21

ORG 0x200
GOTO START

ORG 0x204
GOTO START

ORG 0x205

Pradžia:
; Išjungti už porta comparater
BANKSEL CMCON
MOVLW 0x07
MOVWF CMCON

; išjungti įtampą nuoroda modulis
BANKSEL CVRCON
MOVLW 0x00
MOVWF CVRCON

KVIETIMAS UART_INIT

Vėl
MOVLW Spausdinimui-1
KVIETIMAS RAŠYKITE
KVIETIMAS UART_GETCHAR
KVIETIMAS UART_PUTCHAR
GOTO AGAIN

;------------------------------------
; UART KASDIENĖ
;------------------------------------
UART_INIT:
BANKSEL SPBRG
MOVLW d'129 '; nustatyti Baud Rate 9.600
MOVWF SPBRG
MOVLW 0x20; siųstuvas įjungtas
MOVWF TXSTA
BCF PIE1, TXIE
BCF PIE1, RCIE
BANKSEL RCSTA
MOVLW 0x90
MOVWF RCSTA
RETURN

UART_PUTCHAR:

CHARWAIT1:
BTFSS PIR1, TXIF
GOTO CHARWAIT1
MOVWF TXREG
RETURN

UART_GETCHAR:

CHARWAIT2:
BTFSS PIR1, RCIF
GOTO CHARWAIT2
MOVWF RCREG
RETURN

;----------------------------------
; TEKSTAS vartotojo sąsają
;----------------------------------
Reklama:
DT "\ n \ rHow esate? \ N \ r", 0h

;----------------------------------
; RAŠYTI eilutę UART
;----------------------------------

Rašo:
MOVWF Scratch
GoWrite:
KVIETIMAS PCLsub
ADDLW 0h; jei KIEKIS yra nulis, Z bus nustatyti
BTFSC STATUS, Z
RETURN
KVIETIMAS UART_PUTCHAR
GOTO GoWrite

;-----------------------------------
; PCLsub NAUDOTI Netiesioginio PROBLEMOS
;-----------------------------------

PCLsub:
INCF nulio F
MOVF nulio, W
MOVWF PCL
RETURN

PABAIGA

-------------------------------------------------- -----------
Ar kas nors man sako, kas vyksta negerai.Baud Rate yra 9.600 už HyperTerminal.

 
Hi sora5563,
Geriausias būdas debug yra pradėti tik perdavimo.
Parašykite kodą nuolatos perduoti žinomi personažai
UART.Turėtumėte pamatyti simbolių rodomas HyperTerminal.
Kuris patvirtina, kad UART perduoda ir HyperTerminal parametrai yra teisingi.Kitas pabandyti tik priėmimas panašiai.
Vėliau galite integruoti tiek siekiant užbaigti jūsų prašymą.

Linkėjimai,

 

Welcome to EDABoard.com

Sponsor

Back
Top