F3-uds随记

目录

1. cal.c

 Eeprom内存分配

2.Diagnosis.c

3. read.c

4.UDSRes.h

5.代码改完之后的测试


扫描二维码关注公众号,回复: 15495140 查看本文章

1. cal.c

BT只读,所以增加BT_2私有id可以读写

 Eeprom内存分配

   %0x100取余是取低八位,/0x100是取高八位。(上图注释有误)

eeprom有2^11即2048*16位,8位一个字节,16位两个字节可以理解为2048行*2列,而fingerprint有42个字节,则它在eeprom中占21行。

0是字符,供应商编号对应ASCII码值见IC诊断协议标注gys编号类型为ASCII

 

之前掩码是0xdffe17ff,而本地诊断源地址为FA,FA的二进制为1111 1010,新增了远程诊断源地址为F9,F9的二进制为1111 1001,F9与FA二进制的后两位不同,因此为增加F9则掩码后两位不做筛选,ff的二进制为1111 1111,后两位不做筛选则变成0即为1111 1100(FC),则掩码变为0xdffe17fc。

2.Diagnosis.c

3. read.c

389芯片可看为分成bootloader和app两部分,而EEPROM中经常需要修改的需要放在外部,比如软硬件版本号,为使新增的软硬件版本号在外部空间有存储位置,因此把干燥筒cylinder从外部空间移到隐藏的空间(不怎么修改的空间),备用一(参数2007)为0表示烧完参数后第一次上电,为1则表示非第一次上电,而cylinder初始值为1,所以写入eeprom时需要清零。

uart deel()通用非同步收发传输器,(假如车间调试仪表了,则需要uart_deel清零恢复初始化)

# vectors.c

17表示仪表外发地址。

4.UDSRes.h

物理寻址赋值为0,功能寻址赋值为1;

5.代码改完之后的测试

由于eeprom更改了干燥筒的存储地址,因此需要测试干燥筒的功能是否正常。


 

 

 第一条的ODO总里程五万公里可用2007参数先设置49998km,然后连接车速传感器B27与信号发生器,调节频率产生车速,直至ODO到达5万公里,再进行验证。

猜你喜欢

转载自blog.csdn.net/qq_44732869/article/details/129490473