UART와 인터럽트를 사용하여 8051에서 시리얼 통신을 연구 중입니다. 오늘은 저자가 자신이 지속적으로 8051시리얼 통신 8051
org 00h
ljmp main
org 23h
ljmp serial_ISR
org 30h
main:
mov TMOD,#20h
mov TH1,#-03h
mov SCON,#50h
setb IE.7
setb IE.4
setb TR1
back:
mov A,P0
mov SBUF,A
sjmp back
serial_ISR:
jb TI,trans
mov R0,SBUF
clr RI
RETI
trans:
clr TI
RETI
에 혼란 건을 시리얼 통신의 규칙을 voilating되어 내 생각, 포트 0 전송이 발생하는되는 방식에 오는 데이터를 transfering하고 있다고하는이 코드를 건너 왔어요 나는 back
레이블에 우리는 이전 데이터가 전송 될 때까지 TI 플래그에 의해 통지 될 때까지 SBUF에 쓰지 말아야하는 규칙을 보완하는 SBUF 레지스터에 지속적으로 쓰고있다.
위의 코드에서 SBUF 레지스터의 데이터를 계속 쓰고 있습니까? UART가 올바른 데이터를 보내겠습니까?
감사합니다 당신은 확실히 맞다