This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
LIN和SCI当做两通道SCI可以同时使用吗?都用中断来做??我配置后同时使用有问题,单独使用可以正常通讯
可以,这个问题论坛中也有问到:http://www.deyisupport.com.edgekey.net/question_answer/microcontrollers/c2000/f/56/t/19600.aspx
您好!
关于F28035的LIN用作SCI, 可以参考controlSUITE中以下评估板中的相关例程:
C:\ti\controlSUITE\development_kits\HV_SOLAR_DC_AC_v1.1\SolarHv_DCAC_PiccoloB_Rev_02
我用LIN做串口通讯已经调通了,但是SCI模块的串口中断无法接收数据,进入不了接收中断里,LIN是可以进入,接收数据正常
配置如下
SciaRegs.SCICCR.bit.SCICHAR= 7; //8位数据长度
SciaRegs.SCICCR.bit.ADDRIDLE_MODE= 0; //异步IDLE-LINE模式
SciaRegs.SCICCR.bit.STOPBITS = 0; //禁止lookback
SciaRegs.SCICCR.bit.LOOPBKENA = 0; //禁止校验
SciaRegs.SCICCR.bit.PARITYENA = 0; //一位停止位
SciaRegs.SCICCR.bit.STOPBITS = 0; //使能接收
SciaRegs.SCICTL1.bit.RXENA = 1;
SciaRegs.SCICTL1.bit.TXENA= 1; //使能发送
SciaRegs.SCICTL1.bit.SLEEP = 0; //睡眠方式禁止
SciaRegs.SCICTL1.bit.TXWAKE = 0;
SciaRegs.SCICTL1.bit.RXERRINTENA = 1; //接收错误中断使能
SciaRegs.SCICTL2.bit.TXINTENA =1; //发送中断使能
SciaRegs.SCICTL2.bit.RXBKINTENA =1; //接收中断使能
SciaRegs.SCIHBAUD =0;
SciaRegs.SCILBAUD =15;
SciaRegs.SCICTL1.bit.SWRESET = 1;
PieCtrlRegs.PIEIER9.bit.INTx1 = 1;
PieCtrlRegs.PIEIER9.bit.INTx2 = 1; // Enable interrupts:
PieCtrlRegs.PIEIER9.bit.INTx3=1; // PIE Group 9, INT3
PieCtrlRegs.PIEIER9.bit.INTx4=1; // PIE Group 9, INT4
PieVectTable.SCIRXINTA = &SCI_RXD_isr;
PieVectTable.SCITXINTA = &SCI_TXD_isr;
PieVectTable.LIN0INTA = &Lina_Level0_ISR;
PieVectTable.LIN1INTA = &Lina_Level1_ISR;
IER |= M_INT9;
__interrupt void SCI_RXD_isr(void)//中断服务函数
{
Uint16 tmp;
tmp = SciaRegs.SCIRXBUF.all;
PieCtrlRegs.PIEACK.bit.ACK9 = 1; //
}
您好,
我看了下您提到的那个例程,里面有这样一段代码
EALLOW;
LinaRegs.SCIFLR.bit.IDLE == 1;
EDIS;
这里是对IDLE 赋值吗?