您好:
这两天调试板子还是会出现D1红灯变亮的问题(一个循环函数,第一次、第二次循环时没有问题,第三次时变亮,但是对程序的功能没有影响,依然可以实现),在esm寄存其中看到0xfffff518(ESMSR1)的值由0变为0x00000040,0xfffff520(ESMSR3)的值由0变为0x0000 0080,HCG中Enable Interrupt及Enable Error Pin action都没有打钩。
想查看手册中具体这两个变一的位代表了什么错误,但esm.h中的定义channel 0-63的是0x0000 0000 0000 0080ULL这样的,想问下这个跟ESMSR1和ESMSR3是个什么对应关系呢?
Renton:
Hi Yong,
ESM的通道对应可以在数据手册中找到,如图:
yong zhang2:
回复 Renton:
具体的某个channel是什么错误这个我知道,问题是如何根据寄存器的值来判断现在是哪个channle出现了问题,也就是说ESMSR1跟ESMSR3寄存器的值与channel是一个怎么样的对应关系这点不太清楚…
Renton:
回复 yong zhang2:
Hi Yong,
如果我没记错,ESMSRx寄存器应该是64bit的寄存器吧。
对应关系就是跟上表中描述的一样。
yong zhang2:
回复 Renton:
ESMSRx寄存器是不是对应手册的这个地方呢。。。