Forestspring 发表于 2025-6-19 09:46:29

8051U MCU ADC进入中断后不返回主函数 | 已收到正确的演示程序

基本信息: STC8051U 32BIT; VCC=5V; M-FOSC=32MHz;单片机型号: STC8051U-34K64。
问题100%重现,进入中断函数后会执行到最后一步,然后就停在那里了。我用了两块芯片都是一样的结果,今天早上我用了STC15F2K64S2测试就可以正常运行。

国芯人工智能 发表于 2025-6-19 09:48:00

在遇到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. 如果问题持续,建议联系技术支持。

希望这些建议能帮助你解决问题!

[本文内容由国芯人工智能辅助生成,仅供参考]

ercircle 发表于 2025-6-19 10:04:30


上传工程看看,或者对比参考Ai8051U实验箱例程ADC有一堆噢:
https://www.stcaimcu.com/data/do ... -DEMO-CODE-V1.2.zip




haiyang201 发表于 2025-6-19 10:07:46

用例程的ADC程序试试,其他模块都不要,看看还有么有这个现象

Forestspring 发表于 2025-6-19 10:30:04

ercircle 发表于 2025-6-19 10:04
上传工程看看,或者对比参考Ai8051U实验箱例程ADC有一堆噢:
https://www.stcaimcu.com/data/do ... -DEMO ...

不用了,我只是反馈一下而已。

Forestspring 发表于 2025-6-19 10:35:41

haiyang201 发表于 2025-6-19 10:07
用例程的ADC程序试试,其他模块都不要,看看还有么有这个现象

这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常使用。 另外,我既然发出来肯定是花时间做过测试的。

ercircle 发表于 2025-6-19 10:36:51

guangseen 发表于 2025-6-19 10:30
不用了,我只是反馈一下而已。

没有代码无效反馈啊主要是

_奶咖君_ 发表于 2025-6-19 11:08:41

guangseen 发表于 2025-6-19 10:35
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常 ...

你这说了和没说一样啊,,至少上传一个100% 出现问题的最小工程把。。

haiyang201 发表于 2025-6-19 11:29:31

guangseen 发表于 2025-6-19 10:35
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常 ...解决问题需要一点一点测试,看看到底是什么哪里出问题,而不是直接甩出来。你在其他芯片能用,也并不能说明8051有问题。

梁工 发表于 2025-6-19 14:54:26

guangseen 发表于 2025-6-19 10:35
这是用来做产品的,不是用来演示例程的。为什么不用其它模块呢,产品就是要保证所用可用功能都能同时正常 ...

AI8051U的ADC中断我用过无数,从没遇到问题。
你说有问题,就一句话,没有代码,没有进一步的说明,不能服众的。
页: [1] 2
查看完整版本: 8051U MCU ADC进入中断后不返回主函数 | 已收到正确的演示程序