首页
学习
活动
专区
圈层
工具
发布

PIC循环
EN

Stack Overflow用户
提问于 2016-01-26 21:38:16
回答 1查看 893关注 0票数 0

我正在尝试编程PIC16F887和有这个有趣的问题。我期望从LED闪烁一次,永远停止,但它开始回来,永远不会停止,虽然看门狗是禁用的。这是密码。提前谢谢。

我用MPLABv8.84编写了这篇文章,并使用PICkit2和高科技C编译器编程.

代码语言:javascript
复制
#include <htc.h>
#include <pic.h>
#define _XTAL_FREQ 800000
//__CONFIG(0x3FF5);

//functions
void INITgeneral(void);
void ledshow (void);

void main(void) {
INITgeneral();
ledshow();
return;
}

void INITgeneral(void)
{
TRISA = 0;
TRISB = 0;
TRISC = 0;
TRISD = 0;
TRISE = 0;
PORTA = 0;
PORTB = 0;
PORTC = 0;
PORTD = 0;
PORTE = 0;

}

void ledshow(void)
{

__delay_ms(400);
RD0 = 1;
__delay_ms(400);
RD0 = 0;


}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-26 22:55:30

内置模拟器非常有助于发现类似这个问题,值得一学。

在“查看”选项卡下,选择“反汇编列表”。注意,从对ledshow()的调用返回后的下一个指令是指令GOTO 0,它将程序计数器加载为零,即重置向量。这就是为什么您正在无休止地执行程序。

若要停止此行为,请将main()中的main()替换为无休止的循环while(1){};

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35024488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档