我将CC2541的串口引脚更改为P1.4和P1.5通是可以通的,但是串口刚上电的时候会出现多个莫名其妙的数据,然后就正常
#if defined(GLEAD_BORD)
PERCFG |= HAL_UART_PERCFG_BIT;
P1SEL |= 0x30; //PERCFG |= 1<<0;//P1.4 P1.5
//P1SEL |= ((1<<4)|(1<<5));
//P1DIR|=1<<5;
//P1DIR&=~(1<<4);
P1INP&=~((1<<4)|(1<<5));
U0UCR&=~(1<<0);
U0UCR|=(1<<1);
#else
#if (HAL_UART_DMA == 1)
PERCFG &= ~HAL_UART_PERCFG_BIT; // Set UART0 I/O to Alt. 1 location on P0.
PxSEL |= HAL_UART_Px_SEL; // Enable Peripheral control of Rx/Tx on Px.
#else
PERCFG |= HAL_UART_PERCFG_BIT; // Set UART1 I/O to Alt. 2 location on P1.
#endif
#endif
UxCSR = CSR_MODE; // 串口模式
UxUCR = UCR_FLUSH; // Flush it.
P2DIR &= ~P2DIR_PRIPO;//设置USART0的优先级最高
P2DIR |= HAL_UART_PRIPO;//0x00
if (DMA_PM)
{
// Setup GPIO for interrupts by falling edge on DMA_RDY_IN.
PxIEN |= DMA_RDYIn_BIT;
PICTL |= PICTL_BIT;
HAL_UART_DMA_CLR_RDY_OUT();
PxDIR |= DMA_RDYOut_BIT;
}
Susan Yang:
请问莫名其妙的数据大约有多少?是否可能是上电时电压不稳定引起的导出了串口缓冲区的数据?