主题中讨论的其他器件:MSP430F5529
好-不确定这里发生了什么、试图在 UART 上启用中断、这是通过 MSP430F5529上的 USCI 完成的。
要设置和读取的代码:
HWREGB( USCI_A1_BASE | UCAxIE ) |= 0x03; *print=HWREGB( USCI_A1_BASE | UCAxIE )+'0';
其中 HWREGB 是一个访问位于存储器位置的字节的宏。 第二行仅移动到一个打印缓冲区的值、该缓冲区的偏移量为"0"字符。 我预计在输出上看到"3"。 我得到的只是"0"。 已检查汇编器以确保 其合理、和:
45a0: f2 d0 03 00 bis.b #3, &0x061c ;
45a4: 1c 06
45a6: 5c 42 1c 06 mov.b &0x061c,r12 ;0x061c
45aa: 7c 50 30 00 add.b #48, r12 ;#0x0030
因此对于 msp430f5529上 USCI_A1_base 的 UCAxIE 来说、这是所有合理的、正确的存储器位置;它带有"bis"的设置位是最好的方法、因为手动只说前两个位是 RW、其余的只是 R。
但唉、它似乎没有设置这些位。 发生了一些奇怪的事情。 有什么想法吗?