msp430f147异步收发有误,有程序,求大神
[复制链接]
有两个msp430f147进行异步通信。一个发送,一个接收。发送是不断在发65,接收是把65存到buffer区域的一个固定位置(0200)。发现接收到的东西总是不对。。。下面是代码。
发送程序:
#include "msp430.h" ; #define controlled include file
NAME main ; module name
PUBLIC main ; make the main label vissible ; outside this module ORG 0FFFEh DC16 init ; set reset vector to 'init' label
RSEG CSTACK ; pre-declaration of segment RSEG CODE ; place program in 'CODE' segment
init: MOV #SFE(CSTACK), SP ; set up stack
main: NOP ; main program MOV.W #WDTPW+WDTHOLD,&WDTCTL ; Stop watchdog timer CALL #UART0_INIT MOV #65, R4 Tchk: BIT.B #UTXIFG0,&IFG1 JZ Tchk MOV.B R4,&U0TXBUF CALL #delay JMP Tchk
delay: PUSH SR MOV #00FFh, R5 ww: DEC R5 JNZ ww POP SR RET
UART0_INIT: BIS.B #SWRST, &U0CTL BIS.B #BIT4+BIT5,&P3SEL ;BIS.B #SPB+CHAR,&U0CTL BIS.B #PENA+PEV+SPB+CHAR,&U0CTL BIC.B #BIT5,&U0TCTL BIS.B #BIT4,&U0TCTL BIS.B #URXEIE,&U0RCTL MOV.B #03h, &U0BR0 MOV.B #00h, &U0BR1 MOV.B #13h, &U0MCTL BIS.B #UTXE0+URXE0,&ME1 BIC.B #SWRST, &U0CTL RET
END
|