8051U MCU ADC进入中断后不返回主函数 | 已收到正确的演示程序
基本信息: STC8051U 32BIT; VCC=5V; M-FOSC=32MHz;单片机型号: STC8051U-34K64。问题100%重现,进入中断函数后会执行到最后一步,然后就停在那里了。我用了两块芯片都是一样的结果,今天早上我用了STC15F2K64S2测试就可以正常运行。 在遇到ADC中断时,监控器的中断处理模块可能会卡在中断状态,导致程序执行到最后就停止。根据你的描述,使用STC8051U-34K64的 chip时,今天早上只用了一块就能正常运行,这可能意味着问题与 chip 版本或配置有关。以下是一些可能的解决方案:
1. 检查中断处理模块的编写是否正确
在 STC8051U-34K64的 chip 中,中断处理模块(如 ADC中断处理模块)可能需要重新编写或修复。如果中断处理模块未正确重写或修复,可能导致程序卡在中断状态。
建议步骤:
1. 检查中断判断逻辑: 确保中断处理模块能够正确识别ADC中断。
2. 检查中断处理逻辑: 确保中断处理模块能够正确终止程序。
3. 修复中断处理函数: 如果中断处理函数(HTF)存在错误,需要重新编写或修复。
2. 优化中断处理的中断判断和处理
如果中断处理模块未正确优化,可能导致程序卡在中断状态。以下是一些优化建议:
建议步骤:
1. 重新编写中断处理模块: 使用 STC8051U-34K64的 chip 中的中断处理模块(如 ADC中断处理模块)。
2. 检查中断处理函数: 确保中断处理函数能够正确终止程序。
3. 测试中断处理功能: 在中断发生时,使用中断处理函数重试或终止功能。
3. 联系技术支持
如果问题持续,可以考虑联系 STC8051U-34K64的 vendor 或技术支持部门,提供详细的信息(如中断处理模块的代码、中断事件类型等),以便他们可以进一步帮助解决。
总结
在遇到 ADC中断时,建议:
1. 检查中断处理模块的编写是否正确。
2. 优化中断处理的中断判断和处理逻辑。
3. 确保中断处理函数能够正确终止程序。
4. 如果问题持续,建议联系技术支持。
希望这些建议能帮助你解决问题!
[本文内容由国芯人工智能辅助生成,仅供参考]
上传工程看看,或者对比参考Ai8051U实验箱例程ADC有一堆噢:
https://www.stcaimcu.com/data/do ... -DEMO-CODE-V1.2.zip
用例程的ADC程序试试,其他模块都不要,看看还有么有这个现象 ercircle 发表于 2025-6-19 10:04
上传工程看看,或者对比参考Ai8051U实验箱例程ADC有一堆噢:
https://www.stcaimcu.com/data/do ... -DEMO ...
不用了,我只是反馈一下而已。 haiyang201 发表于 2025-6-19 10:07
用例程的ADC程序试试,其他模块都不要,看看还有么有这个现象
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常使用。 另外,我既然发出来肯定是花时间做过测试的。 guangseen 发表于 2025-6-19 10:30
不用了,我只是反馈一下而已。
没有代码无效反馈啊主要是 guangseen 发表于 2025-6-19 10:35
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常 ...
你这说了和没说一样啊,,至少上传一个100% 出现问题的最小工程把。。 guangseen 发表于 2025-6-19 10:35
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常 ...解决问题需要一点一点测试,看看到底是什么哪里出问题,而不是直接甩出来。你在其他芯片能用,也并不能说明8051有问题。 guangseen 发表于 2025-6-19 10:35
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常 ...
AI8051U的ADC中断我用过无数,从没遇到问题。
你说有问题,就一句话,没有代码,没有进一步的说明,不能服众的。
页:
[1]
2