幻想之世 2014-10-22 14:23 采纳率: 25%
浏览 1699

arm8裸机开发看门狗问题

程序代码如下
#include "s5pc100.h"

typedef struct {
unsigned int WTCON;
unsigned int WTDAT;
unsigned int WTCNT;
unsigned int WTCLRINT;

}watchdog;
#define WATCHDOG (*(volatile watchdog *)0XEA200000)

void watchdog_unit()
{
printf("flag1\n");
WATCHDOG.WTDAT = 0XFFFF;
WATCHDOG.WTCON = (0XFF<<8 | 1<<5 | 1<<3 | 0<<2 | 1);
printf("flag3\n");
WATCHDOG.WTCNT = 0XFFFF;
printf("in watchdog\n");
}

int main(void)
{
watchdog_unit();
}
为什么该程序会在watchdog_unit();函数中一直执行。
如果在watchdog_unit();语句后加上while死循环,看门狗正常工作
int main(void)
{
watchdog_unit();
while(1);
}

  • 写回答

3条回答

  • 求佛_ce123 博客专家认证 2014-12-02 11:50
    关注

    watchdog_unit函数是顺序执行的,没有什么循环,执行完了就结束了
    你是怎么判断程序一直在该函数中执行的
    不知你是都处理好了裸机开发的启动问题

    评论

报告相同问题?

悬赏问题

  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试