Part Number:CC2540
在用的是CC2540的串口0P1_2(TXD),P1_3(RXD)能够正常收发数据,在HalUARTInitDMA()串口初始化中停止位的配置U0UCR的配置没用,修改前后示波器上一个字节和另一个字节停止位都是2bit,这个停止位是不能配置还是怎么回事默认2bit停止位吗,怎么办?
halDMADesc_t *ch;
#if (HAL_UART_DMA == 1)
PERCFG &= ~HAL_UART_PERCFG_BIT; // Set UART0 I/O to Alt. 1 location on P0.
#else
PERCFG |= HAL_UART_PERCFG_BIT; // Set UART1 I/O to Alt. 2 location on P1.
#endif
PxSEL |= HAL_UART_Px_SEL; // Enable Peripheral control of Rx/Tx on Px.
UxCSR = CSR_MODE; // Mode is UART Mode.
// UxUCR = UCR_FLUSH; // Flush it.
U0UCR|=(1<<2);//2bit stop bit//0UCR&=~(1<<2);//1bit stop bit
P2DIR &= ~P2DIR_PRIPO;
P2DIR |= HAL_UART_PRIPO;
U0BAUD = 59; //16MHz的系统时钟产生2400BPS的波特率
U0GCR&=~(0x1F<<0); //清空波特率指数
U0GCR|=6; //配置波特率的指数值
Alice:
您好,
U0UCR寄存器SPB位上电默认是0(0:1 stop bit),可以置成1(1 : 2 stop bits)(链接文档161页)
如果SPB位程序不配置,就是1个停止位。
CC253x/4x User's Guide (Rev. F) (ti.com.cn)