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(); //启用全局中断
输入:}
有人以前遇到过这个问题吗?
如果你需要其他代码,请告诉我,比如我如何检查中断是否设置? 后续的while语句呢 怎么只有运行一次的初始化代码?循环语句呢? Attiny202 调试正常但正常模式不工作,可能因调试模式启用了特定配置(如内部时钟、外设使能),正常模式未保留。检查熔丝位设置(时钟源、分频),确保与代码匹配;排查中断或睡眠模式配置,调试时可能被忽略;验证电源稳定性,正常模式功耗变化可能引发欠压。可逐步注释代码定位问题模块。
页:
[1]