lin总线以 9600 波特率的速率 发送周期50ms. 同时用pmf的 outc 模式控制gdu 每87us(用定时器T0定时产生中断) 极性翻转一次,极性翻转是在 定时器T0定中断中完成并且lin发送50ms 定时也由定时器T0在中断中计数50ms发送lin.
现在出现的问题是当lin总线发出时影响gdu 输出波形,图形上看是使gdu的每87us 延时程lin的发送总周期 。直到lin 发送完成后也持续影响lin总周期的时间 。如何做到互不相应
void TI1_OnInterrupt(void)
{
EnterCritical();
PMFCFG2_MSK = 0X35;
_PMFOUTC_OUTCTL = 0X0A;
_PMFCFG1.Bits.BOTNEGA = ~_PMFCFG1.Bits.BOTNEGA;
_PMFCFG1.Bits.BOTNEGB = ~_PMFCFG1.Bits.BOTNEGB;
ExitCritical() ;
if (bia == 500)
{bia =0;
dataa[0] = 0x1a;
dataa[1] = 0x2a;
dataa[2] = 0x3a;
dataa[3] = 0x4a;
dataa[4] = 0x5a;
dataa[5] = 0x6a;
dataa[6] = 0x1a;
dataa[7] = 0x2a;
EnterCritical();
LIN_send_data(0x33, 8, &dataa[7]);
ExitCritical() ;
}
}
Contact Name