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.

CC2540: 在用的是CC2540的串口0P1_2(TXD),P1_3(RXD)能够正常收发数据,在HalUARTInitDMA()串口初始化中停止位的配置U0UCR的配置没用,修改前后示波器上一个字节和另一个字节停止位都是2bit,这个停止位是不能配置还是怎么回事默认2bit停止位吗,怎么办?

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; //配置波特率的指数值