现在的问题是写寄存器和调库函数的寄存器内容,完全一致。
但是出来效果,就是寄存器**出问题,库函数没问题。这也说明硬件没有异常。
我还看了 M0P_SYSCTRL->PERI_CLKEN0_f.LPUART0 = 1; 这个寄存器,值也是一致的。
在初始化顺序方面有特别要注意的地方吗?
==================================================
我按照库函数法的顺序,进行写寄存器,也不正常。
M0P_SYSCTRL->PERI_CLKEN0_f.LPUART0 = 1;
delayMs(1);
M0P_LPUART0->SCON_f={
.SM = 3,//9位数据位
.OVER = 2,//4 采样分频
};
delayMs(1);
M0P_LPUART0->SCNT_f.SCNT = 6;
delayMs(1);
M0P_LPUART0->SCON_f={
.REN = 1,//接收使能
.SM = 3,//9位数据位
.OVER = 2,//4 采样分频
};
delayMs(1);
M0P_LPUART0->ICR = 0;//清除全部中断
delayMs(1);
M0P_LPUART0->SCON_f={
.RCIE = 1,//接收中断使能
.REN = 1,//接收使能
.SM = 3,//9位数据位
.OVER = 2,//4 采样分频
};
delayMs(1);
EnableNvic(LPUART0_IRQn,IrqLevel3,TRUE); ///<系统中断使能
|