“线程:C2000WARE”中讨论的其它部件
尊敬的团队:
将 Lin 模块配置代码 f28034移植到 f280025后,我的客户发现芯片无法接收数据。 这两块芯片的 Lin 配置中有什么值得注意的吗?
以下是 f280025的代码:
EALLOW;
CpuSysRegs.PCLKCR19.bit.LIN_A = 1;
GpioCtrlRegs.GPAPUD.bit.GPIO28 = 0; //GPIO28 (LIN TX)
GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; //GPIO29 (LIN RX)
GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 3;
GpioCtrlRegs.GPAQSEL2.bit.GPIO29 = 0x01;
GpioCtrlRegs.GPACTRL.bit.QUALPRD3 = 0x03;
GpioCtrlRegs.GPAGMUX2.bit.GPIO28 = 2;
GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 2;
GpioCtrlRegs.GPAGMUX2.bit.GPIO29 = 2;
GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 2;
EDIS;
//Lin register configuration
EALLOW;
LinaRegs.SCIGCR0.bit.RESET = 0;
LinaRegs.SCIGCR0.bit.RESET = 1;
LinaRegs.SCIGCR1.bit.SWnRST = 0;
LinaRegs.SCIPIO0.bit.RXFUNC = 1; //These two sentences are not available on 28034.
LinaRegs.SCIPIO0.bit.TXFUNC = 1; //Other configurations are the same as 28034.
LinaRegs.SCIGCR1.bit.SLEEP = 0;
LinaRegs.SCIFLR.bit.TXWAKE = 0;
LinaRegs.SCIFLR.bit.TXEMPTY = 1;
LinaRegs.SCIFLR.bit.TXRDY = 1;
//Configure for data reception
LinaRegs.SCIGCR1.bit.RXENA = 1;
LinaRegs.SCIGCR1.bit.TXENA = 0;
LinaRegs.SCIGCR1.bit.TIMINGMODE = 1; //Asynchronous Timing
LinaRegs.SCIGCR1.bit.CLK_MASTER = 1; //Enable SCI Clock
LinaRegs.SCIGCR1.bit.CONT = 1; //Continue on Suspend
LinaRegs.SCISETINT.bit.SETRXINT = 1;
LinaRegs.SCISETINT.bit.SETTXINT = 1;
LinaRegs.SCIFORMAT.bit.CHAR = 0x7;
LinaRegs.SCIGCR1.bit.SWnRST = 1;
EDIS;
LinaRegs.SCIPIO0.bit.RXFUNC = 1;
LinaRegs.SCIPIO0.bit.TXFUNC = 1;
这两个代码在28034上不可用。 其它配置与28034相同。
此外,上述配置方法只能在寄存器中查看寄存器配置。 我不知道如何在表达式中查看寄存器配置?
此致





