一直傳不成功
我用的是MSP430G2553在LaunchPad的板子上傳UART
照著TI官方的範例修改設定卻一直傳不成功
问错地方了,不过你可以详细描述下
LaunchPad的板子上有把TX、RX改成HW
想請問各位以下設定的問題在哪裡?
;===============================
#include "msp430G2553.h"
;===============================
; 中斷向量表
;===============================
ORG 0FFFEh ;RESET中斷向量
DW ST ;主程式位址
ORG 0FFECh ;USCI_TX_ISR
DW USCI_TX_ISR ;
;===============================
; 主程式
;===============================
ORG 0C000h
ST: MOV #0400h,SP
MOV #WDTPW+WDTHOLD,&WDTCTL
CLR R4
CLR R5
CLR R6
CLR R7
CLR R8
BIS.B #UCSWRST+UCSSEL_1,&UCA0CTL1
BIS.B #00000100b,&P1SEL ;_P1.2使用週邊模組(USCI)
BIS.B #00000100b,&P1SEL2 ;_P1.2使用週邊模組(USCI)
BIS.B #00000100b,&P1DIR
MOV.B #3,&UCA0BR0 ;鮑率=9600bps
MOV.B #0,&UCA0BR1
MOV.B #UCBRS_3+UCBRF_0,&UCA0MCTL ;鮑率=9600bps
BIC.B #UCSWRST,&UCA0CTL1
BIS.B #UCA0TXIE,&IE2 ;致能UCA0TXIE
BIS.B #GIE+CPUOFF,SR ;致能中斷功能+等待中斷
NOP
;===============================
; USCI_TX_ISR
;===============================
USCI_TX_ISR:
BIT.B #UCA0TXIFG,&IFG2 ;USCI_A0 Transmit Interrupt?
JZ USCI_TX_ISR
BIC.B #UCA0TXIE,&IE2 ;禁能UCA0TXIE
MOV.B R7,&UCA0TXBUF
INC R7
BIC.B #UCA0TXIFG,&IFG2 ;清除UCA0TXIFG中斷旗號
BIS.B #UCA0TXIE,&IE2 ;致能UCA0TXIE
RETI
;===============================
END 楼主,你可以选择C语言的啊,汇编精通的人不多。官方提供了C的示例。
到官网上找一找 这一块的资料还是很多的 需要好好看看
这应该是容易解决的. 可以分开来检查.
调试器先进去检查验证寄存器设置, 现在基本上很少有用汇编开发的了
这一块的最好是吧设计的原理图跟PCB分享出来的大家伙一块看的
可以先确认是否是硬件问题,再来看软件。
这还全部汇编语言的设计的呀
可以考虑用示波器检查一下串口输出波形
对,然后再验证电脑上位机通信.
謝謝各位的回答
我後來找到答案了,第一次碰launchpad忽略了兩個地方
一個是我用ACLK需要自己把石英震盪器焊上去
另一個是串口用同一個有時候會衝突,我後來改用MAX232
明天去单位帮你看看
LaunchPad板子的话,官方应该有专门的例子的,烧官方的例子看看。
检查一下波特率还有时钟
串口最简单了,首先排除你的硬件问题,因为官方的例程,肯定不会出错的。还有要注意编译环境和官方例程所使用版本之间的误差所导致的结果。
这个无外乎就是UARt 的波特率的设计等等
好的,我明天去单位试一下,多谢各位大侠了哈
页:
[1]