目录
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万公里,再进行验证。