大家好、工程师
我曾尝试使用 CPU2初始化 SCIA、某些 GPIO 初始化正在 CPU1上运行、但无法正常工作。 程序如下所示
以下内容在 CPU2上运行
void initscia()
{
EALLOW ();
SCIA.SCICTL2.bit.TXINTENA = 1;
SCIA.SCICTL2.bit.RXCKINTENA=1;
scia.SCILBAUD.all = 3&0xFF;//波特率
SCIA.SCIHBAUD.ALL = 3>8;
SCIA.SCICCR.bit.LOOPBKENA=0;//禁用环回
SCIA.SCIFFTX.ALL = 0xC022;//0xC022;
SCIA.SCIFFRX.ALL = 0x0022;//0x0022;FIFO 深度= 2时中断
SCIA.SCIFFCT.all = 0x00;
SCIA.SCICTL1.all = 0x0023;//从复位中撤回 SCI
SCIA.SCIFFTX.BIT.TXFIFORESET = 1;
SCIA.SCIFFRX.bit.RXFIFORESET = 1;
protect();
}
以下内容在 CPU1上运行
void initscia()
{
EALLOW ();
SYSTEM.PCLKCR7.bit.SCI_A = 1;//启用 SCI-A 的 LOSCLK 时钟
GPIOCtrl.GPAGMUX1.bit.GPIO8 = 1;
GPIOCtrl.GPAMUX1.bit.GPIO8 = 2;//启用 SCIA TXD = GPIO08
GPIOCtrl.GPACSEL2.bit.GPIO8 = 1;
GPIOCtrl.GPAGMUX2.bit.GPIO28 = 0;
GPIOCtrl.GPAMUX2.bit.GPIO28 = 1;//启用 SCIA RXD = GPIO28
GPIOCtrl.GPACSEL4.bit.GPIO28 = 1;
GPIOCtrl.GPAPUD.bit.GPIO8 = 1;//禁用 GPIO8的 PU
GPIOCtrl.GPAPUD.bit.GPIO28 = 1;//禁用 GPIO28的 PU
protect();
}
但是、当我将这些代码合并在一起并在 CPU1上运行时、可以很好地建立通信。
您能在这种情况下提供帮助吗?