This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如图,左边是 6723 的 技术参考手册,左下角页码916页。 右边是debug时候出来的寄存器内容------MCTL这个寄存器明显对不上啊。
我现在在32768hz下设置9600波特率, 整数部分是 3 ,小数部分必须是5300才可以(不过采样 ucos == 0),为什么最高4位必须害的有5啊 不是round((32768/9600-3)) = 3吗,那个5是干嘛的。
还有4800波特率 怎么还是0x5300(实践)才准,0x5600(理论推测)不准。
望官方给出答复!
P1SEL |= (BIT4 + BIT5); // P1.4,P1.5 = USCI_A1 RXD,TXD // PMAP_CONTROL->PMAPKEYID = PMAPKEY;; P1MAP->P1MAP45 |= ( PM_UCA1RXD| ((u16)PM_UCA1TXD <<8)); // P1MAP->P1MAP45 |= ( PM_UCA1TXD| ((u16)PM_UCA1RXD <<8)); // PMAP_CONTROL->PMAPKEYID = 0; //用完记得Lock上 P1DIR &= ~BIT4;P1REN |= BIT4;P1OUT |= BIT4; P1DIR |= BIT5;P1DS |= BIT5;P1OUT |= BIT5; // P1DS |= (BIT4 + BIT5); UART1->CTLW0 |= UCSWRST; UART1->CTLW0 |= UCSSEL_1 ; // UART1->CTLW0 |= UCSSEL_1 |UCMODE0 |UCPEN | UCPAR ; //Dormant、ACLK、IDLE,,带偶检验 UART1->BRW = 32768/2400; //鸟玩意不能9600,4800也不稳定 UART1->MCTLW = 0x5300; UART1->CTLW0 &= ~UCSWRST; //关闭复位 UART1->IE |= UCRXIE; // Enable USCI_A1 RX interrupt