代码完全按照note上的
/* Step 1. GPIO initial */
SYS->GPBMFP.UART0_RX =1;
SYS->GPBMFP.UART0_TX =1;
/* Step 2. Enable and Select UART clock source*/
UNLOCKREG();
SYSCLK->PWRCON.XTL12M_EN = 1;
LOCKREG();
SYSCLK->APBCLK.UART0_EN = 1;//Enable UART clock
SYSCLK->CLKSEL1.UART_S = 0; //Select 12Mhz for UART clock source
SYSCLK->CLKDIV.UART_N = 0; //UART clock source = 12Mhz;
/* Step 3. Select Operation mode */
UART0->FCR.TFR =1; //Reset Tx FIFO
UART0->FCR.RFR =1; //Reset Rx FIFO
UART0->FCR.RFITL = 0;//Set Rx Trigger Level -1byte FIFO
UART0->LCR.PBE = 0;//Disable parity
UART0->LCR.WLS = 3;//8 data bits
UART0->LCR.NSB = 0;//Enable 1 Stop bit
/* Step 4. Set BaudRate */
UART0->BAUD.DIVX_EN = 1;
UART0->BAUD.DIVX1 = 1;
UART0->BAUD.DIV = 12000000 / 115200 -2;
do
{
printf("\nUART Sample Demo. (Press 'ESC' to exit)\n");
}while(GetChar()!=0x1B);
printf("Exit\n");
烧写进去后,用串口调试助手无反应
串口调试助手的设置是:
串口:com1
波特率:115200
数据位:8
停止位:1
效验位:无
而后我又把do~while里的代码改成
while(1)
{
while(UART0->FSR.TX_FULL == 1);
UART0->DATA = ch;
if(ch == '\n')
{
while(UART0->FSR.TX_FULL == 1);
UART0->DATA = '\r';
}
}
其他的设置一样。结果也是无。
请问下,这个是什么原因。 |