有哪个 朋友使用过新唐M0/140,我使用串口接收数据不成功 。不知道有哪个朋友能把自己的串口初始化程序贡献一下:下面是我的代码;
void UART_Inti(void)
{
SYS->GPBMFP.UART0_RX=1; //GPIO initial ----1
SYS->GPBMFP.UART0_TX=1;
SYSCLK->APBCLK.UART0_EN = 1; //Enable clock ----2
SYSCLK->CLKSEL1.UART_S = 0; //Choose clock ----3
SYS->IPRSTC2.UART0_RST = 1; //Reset ----4
SYS->IPRSTC2.UART0_RST = 0;
UART0->FUNSEL.FUN_SEL = 0; //Uart Function
UART0->FCR.TFR = 1; //Rrset TBF ----5
UART0->FCR.TFR = 0; //Rrset TBF ----5
UART0->FCR.RFR = 1;
UART0->FCR.RFR = 0; //Reset RBF ----6
UART0->LCR.PBE = 0; //Reset Date Check ----7
UART0->LCR.NSB = 0;
UART0->LCR.WLS = 3; //Date lenth Setting ----8
UART0->BAUD.DIV_X_EN = 0; //分频有效使能 ----9
//UART_T->BAUD.DIVIDER_X = 11; //设定分频大小 ----10
UART0->BAUD.DIV_X_ONE = 0;
UART0->BAUD.BRD = 76; //设定分频补偿 ----11
UART0->IER.RDA_IEN = 1; //中断接收有效 ----12
NVIC_EnableIRQ(UART0_IRQn); //Enable Uart NVIC_ISER ----13
//NVIC_EnableIRQ(TMR0_IRQn); //Enable Uart NVIC_ISER ----13
}
//下面是发送程序,单独的发送数据没问题,所以问题一定在设定或者是数据接收的时候
void Send_Data_To_PC(uint8_t c)
{
UART0->u32DATA = (uint8_t) c;
while(UART0->FSR.TX_EMPTY != 0x00); //check Tx Empty
} |