TI中文支持网
TI专业的中文技术问题搜集分享网站

TMS320F28035 LIN配置SCI问题Update

Hi,

由于LIN口用于SCI的奇偶校验一下没有调试好,所以一直在查找问题,但是新发现一个问题不知道是什么原因,希望得到解答,谢谢!

我用仿真器监控时,在Expressions中看LinaRegs的值有变化,赋值也正常,但在Registers中看LINA的对应寄存器确没有变化?为什么?

Susan Yang:请问您现在是使用的controlcard和TI例程?能否详细说明下您的软硬件?

Hi,

由于LIN口用于SCI的奇偶校验一下没有调试好,所以一直在查找问题,但是新发现一个问题不知道是什么原因,希望得到解答,谢谢!

我用仿真器监控时,在Expressions中看LinaRegs的值有变化,赋值也正常,但在Registers中看LINA的对应寄存器确没有变化?为什么?

sam liu:

回复 Susan Yang:

不是用的TI例程,只是参照例程更改,硬件是我们自己LAYOUT的板,代码初始化部分如下:EALLOW;LinaRegs.SCIGCR0.bit.RESET = 0;// Into resetLinaRegs.SCIGCR0.bit.RESET = 1;// Out of resetLinaRegs.SCIGCR1.bit.SWnRST = 0;// Into software reset
LinaRegs.SCIGCR1.bit.SLEEP = 0;LinaRegs.SCIFLR.bit.TXWAKE = 0;LinaRegs.SCIFLR.bit.TXEMPTY = 1;LinaRegs.SCIFLR.bit.TXRDY = 1;
LinaRegs.SCIGCR1.bit.COMMMODE = 0;// Idle-Line ModeLinaRegs.SCIGCR1.bit.TIMINGMODE = 1;// Asynchronous TimingLinaRegs.SCIGCR1.bit.PARITYENA = 0;// No Parity CheckLinaRegs.SCIGCR1.bit.PARITY = 0;// Odd ParityLinaRegs.SCIGCR1.bit.STOP = 0;// One Stop BitLinaRegs.SCIGCR1.bit.CLK_MASTER = 1;// Enable SCI ClockLinaRegs.SCIGCR1.bit.LINMODE = 0;// SCI ModeLinaRegs.SCIGCR1.bit.SLEEP = 0;// Ensure Out of SleepLinaRegs.SCIGCR1.bit.MBUFMODE = 0;// No Buffers ModeLinaRegs.SCIGCR1.bit.LOOPBACK = 0;// External LoopbackLinaRegs.SCIGCR1.bit.CONT = 1;// Continue on SuspendLinaRegs.SCIGCR1.bit.RXENA = 1;// Enable RXLinaRegs.SCIGCR1.bit.TXENA = 0;// Enable TX
LinaRegs.IODFTCTRL.bit.IODFTENA = 0x0;
LinaRegs.SCIFORMAT.bit.CHAR = 7;//Eight bitsLinaRegs.SCIFORMAT.bit.LENGTH = 7;//One byte
LinaRegs.BRSR.bit.SCI_LIN_PSL =194;//15MBaud = 9.6khzLinaRegs.BRSR.bit.M = 5;
// 通讯控制使用中断,初始化PieVectTable.LIN0INTA = &Lina_Level0_ISR ;PieVectTable.LIN1INTA = &Lina_Level1_ISR ;
LinaRegs.SCIGCR1.bit.SWnRST = 1;EDIS;

Hi,

由于LIN口用于SCI的奇偶校验一下没有调试好,所以一直在查找问题,但是新发现一个问题不知道是什么原因,希望得到解答,谢谢!

我用仿真器监控时,在Expressions中看LinaRegs的值有变化,赋值也正常,但在Registers中看LINA的对应寄存器确没有变化?为什么?

sam liu:

回复 Susan Yang:

不是用的TI例程,只是参照例程更改,硬件是我们自己LAYOUT的板,代码初始化部分如下:EALLOW;LinaRegs.SCIGCR0.bit.RESET = 0;// Into resetLinaRegs.SCIGCR0.bit.RESET = 1;// Out of resetLinaRegs.SCIGCR1.bit.SWnRST = 0;// Into software reset
LinaRegs.SCIGCR1.bit.SLEEP = 0;LinaRegs.SCIFLR.bit.TXWAKE = 0;LinaRegs.SCIFLR.bit.TXEMPTY = 1;LinaRegs.SCIFLR.bit.TXRDY = 1;
LinaRegs.SCIGCR1.bit.COMMMODE = 0;// Idle-Line ModeLinaRegs.SCIGCR1.bit.TIMINGMODE = 1;// Asynchronous TimingLinaRegs.SCIGCR1.bit.PARITYENA = 0;// No Parity CheckLinaRegs.SCIGCR1.bit.PARITY = 0;// Odd ParityLinaRegs.SCIGCR1.bit.STOP = 0;// One Stop BitLinaRegs.SCIGCR1.bit.CLK_MASTER = 1;// Enable SCI ClockLinaRegs.SCIGCR1.bit.LINMODE = 0;// SCI ModeLinaRegs.SCIGCR1.bit.SLEEP = 0;// Ensure Out of SleepLinaRegs.SCIGCR1.bit.MBUFMODE = 0;// No Buffers ModeLinaRegs.SCIGCR1.bit.LOOPBACK = 0;// External LoopbackLinaRegs.SCIGCR1.bit.CONT = 1;// Continue on SuspendLinaRegs.SCIGCR1.bit.RXENA = 1;// Enable RXLinaRegs.SCIGCR1.bit.TXENA = 0;// Enable TX
LinaRegs.IODFTCTRL.bit.IODFTENA = 0x0;
LinaRegs.SCIFORMAT.bit.CHAR = 7;//Eight bitsLinaRegs.SCIFORMAT.bit.LENGTH = 7;//One byte
LinaRegs.BRSR.bit.SCI_LIN_PSL =194;//15MBaud = 9.6khzLinaRegs.BRSR.bit.M = 5;
// 通讯控制使用中断,初始化PieVectTable.LIN0INTA = &Lina_Level0_ISR ;PieVectTable.LIN1INTA = &Lina_Level1_ISR ;
LinaRegs.SCIGCR1.bit.SWnRST = 1;EDIS;

Hi,

由于LIN口用于SCI的奇偶校验一下没有调试好,所以一直在查找问题,但是新发现一个问题不知道是什么原因,希望得到解答,谢谢!

我用仿真器监控时,在Expressions中看LinaRegs的值有变化,赋值也正常,但在Registers中看LINA的对应寄存器确没有变化?为什么?

sam liu:

回复 Susan Yang:

其他寄存器的配置都很正常,除了LINA寄存器

赞(0)
未经允许不得转载:TI中文支持网 » TMS320F28035 LIN配置SCI问题Update
分享到: 更多 (0)