NK bug解决

K2  新ARM用了自己的程序,其中K2是单can, 不用转换,Arm是双Can 需要转换,  

Can的发送,是已每一帧报文发送的,每一帧的前八个字节都是通过,查询方式,发送的,如果每一帧的字节数大约8字节的话,后面的字节由查询方式做判断

剩下的字节有中断发送,

BUG1:新ARM   双Can之间装换的时候,gNODataCounter  这个变量时公用的,所有每个can接受中断都会修改它,导致双can的切换时间不准,修改为两个两边,g1NoDataCounter 和g2NoDataCounter    每个can修改自己的对应的变量就没有问题了

BUG2: 遥脉的参数,需要进行处理。强制转换成32个,有的时候会越界写到别人的内存地址中去,所以要强制转换

BUG3,遥信采样改成 十分之五

BUG4:遥控的返校错位改成3

BUG5:定时器初始化的时候修改了,分频系数等   还有,Can的速度计算有点问题,重新改正了

双Can之间的转换,每个Can接受都用自己的buf   Can1buf   Can2buf   之后有一个主MainRevBuf,定时器10ms中断中会进行判断出来,把MainCan通道的buf

数据移动到MainRevbuf中,之后再MainRevBUf中进行协议解析,判断,之后删除解析过的数据和错误的数据,把要发送的数据,存到一个gSendbuf 中,以帧为单位

之后再把gsendbuf移动到Cansendbuf中, 之后由Can继续发送。。。。。

原文地址:https://www.cnblogs.com/darren-715/p/3799123.html