probedog 发表于 2025-6-12 15:00

Attiny202程序在调试模式下工作正常,但在正常模式下不工作。

我正在使用MPLAB X IDE,使用pickit3或4来编程Attiny 202处理器。



该程序使用中断引脚将处理器从睡眠中唤醒。只要我在调试模式下运行,程序就能正常工作。

我在中断函数中设置了一个断点,每次它都应该停在那里。之后,我打开一个工作的LED,“没有问题”。

我一移除调试器并以正常模式运行,程序就停止工作?



这是我的初始化程序:



void init(void)

{

cli(); //清除中断

PORTA.DIR = 0b01000000; // 将端口A6设置为输出,其他端口设置为输入

PORTA.OUT &= ~PIN6_bm; // 初始化引脚为低电平

PORTA.PIN7CTRL = 0x0a; // 启用上拉并设置中断上升沿



设置睡眠模式为完全关机模式;



sei(); //启用全局中断

输入:}



有人以前遇到过这个问题吗?

如果你需要其他代码,请告诉我,比如我如何检查中断是否设置?

wutaosamuel 发表于 2025-6-13 10:04

后续的while语句呢

dffzh 发表于 2025-6-17 17:31

怎么只有运行一次的初始化代码?循环语句呢?

热爱浪漫 发表于 2025-9-27 16:01

Attiny202 调试正常但正常模式不工作,可能因调试模式启用了特定配置(如内部时钟、外设使能),正常模式未保留。检查熔丝位设置(时钟源、分频),确保与代码匹配;排查中断或睡眠模式配置,调试时可能被忽略;验证电源稳定性,正常模式功耗变化可能引发欠压。可逐步注释代码定位问题模块。
页: [1]
查看完整版本: Attiny202程序在调试模式下工作正常,但在正常模式下不工作。