在何种情况下遇到的这个问题:使用S32K1系列芯片开发产品,同时用到了ADC采集与EEROM读写功能,官方推荐使用PDB触发ADC,另外这款芯片支持将芯片中的一部分空间模拟成EEROM,进行读写操作。对单个功能进行调试,ADC采集与EEROM读写都可以实现,但是当两者出现到一个工程中,会出现ADC采集功能瘫痪的问题。
注:本文仅是个人遇到问题后,自我总结的文章,所述见解不一定正确和通用,因此所述内容不可用于任何商业活动!!! 使用单片机制作产品或DIY时,请充分评估与规避风险,以免造成个人损失。
各位读者,如果遇到类似问题,欢迎在评论区讨论,如果发现我之观点有任何不妥之处,请批评指正。
现象描述:
现象1:
EEROM每次读写120字节数据,读写请求频率低于10Hz,ADC采样频率接近1KHz,则ADC中断回调函数停止访问(只要执行写操作就会停止);
现象2:
EEROM每次读写120字节数据,读写请求频率低于10Hz,ADC采样频率低于30Hz,则ADC中断回调函数访问正常,不会停止访问;
现象3:
EEROM每次写4字节数据,读请求的频率低于30Hz,ADC采样频约为1KHz,
将EEROM写操作放在LPIT回调函数中运行(定时任务),则ADC中断回调函数有一定概率会停止访问;
现象4:
EEROM每次写4字节数据,读请求的频率低于30Hz,ADC采样频约为1KHz,
将EEROM写操作放在main函数中运行(通过写请求标志位控制),则ADC中断回调函数访问正常,不会停止访问;
现象总结:
芯片上电后是对EEROM进行读操作,往往不会出现ADC中断回调函数停止访问的问题,对EEROM进行写操作,ADC中断回调函数停止访问的概率与EEROM写入的字