Other Parts Discussed in Thread: MSP430F5529
OK - not sure whats going on here, trying to enable interrupts on a uart, done via USCI on MSP430F5529.
Code to set - and read out:
HWREGB( USCI_A1_BASE | UCAxIE ) |= 0x03; *print=HWREGB( USCI_A1_BASE | UCAxIE )+'0';
where HWREGB is a macro to access bytes, at a memory location. The second line just moves to value to a print buffer thar offsets it by the '0' character. So I expect to see a '3' on the output. All I ever get is a '0'. Checked the assembler to make sure its reasonable, and:
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
So thats all reasonable, right memory location for UCAxIE on USCI_A1_BASE on an msp430f5529; and its setting bits with 'bis' that much be the best method as the manual only says the first two bits are RW, the rest a R only.
But alas it doesn't seem to set those bits. So something strange going on. Anyone any ideas?