智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2419|回复: 2
打印 上一主题 下一主题

[软件类] MC9S12XS128的软件看门狗怎么写

[复制链接]

2

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
374
威望
219
贡献
87
兑换币
4
注册时间
2012-5-29
在线时间
34 小时
毕业学校
合工大
跳转到指定楼层
1#
发表于 2012-7-6 18:06:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
2贡献
求运行成功的

7

主题

26

帖子

0

精华

高级会员

Rank: 4

积分
699
威望
397
贡献
184
兑换币
162
注册时间
2012-3-10
在线时间
59 小时
毕业学校
安徽工程大学
2#
发表于 2013-3-26 19:11:49 | 只看该作者
#include <hidef.h>      /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

#define LEDCPU PORTB_PB4
#define LEDCPU_dir DDRB_DDRB4

/*************************************************************/
/*                        初始化看门狗                       */
/*************************************************************/
void INIT_COP(void)
{
  COPCTL = 0x07;     //设置看门狗复位间隔为1.048576s
}

/*************************************************************/
/*                         延时函数                          */
/*************************************************************/
void delay(void)
{
  unsigned int i;
  for(i=0;i<50000;i++);
}


/*************************************************************/
/*                         主函数                            */
/*************************************************************/
void main(void) {
  DisableInterrupts;
  INIT_COP();
  LEDCPU_dir = 1;
  LEDCPU = 0;
  delay();
  LEDCPU = 1;
  delay();
  EnableInterrupts;

  for(;;)
  {  while(1);
   // _FEED_COP();  //喂狗函数
   // delay();
  }
}


回复

使用道具 举报

8

主题

105

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1972
威望
906
贡献
586
兑换币
594
注册时间
2013-4-7
在线时间
240 小时
3#
发表于 2013-7-30 21:42:24 | 只看该作者
/*---------------------------------------------------------*/     //为了防止单片机在程序出现跑飞或者程序运行时间不是特别稳定不喂狗时单片机直接复位,因此在智能车比赛一般要关闭看门狗//

/*---------------------------------------------------------*/
#include <hidef.h>      /* common defines and macros 常见的宏定义*/
#include "derivative.h"      /* 相当于#include <MC9S12XS128.h>  #pragma LINK_INFO DERIVATIVE "MC9S12XS128"这两个预处理
                             1 128的宏定义或者函数库
                             2 关联mcu当工程选定的芯片改变时会自动改变芯片*/

#define LEDCPU PORTK_PK4     /*在128函数库里PK4恒定义为PK的第四位 PORTK为K引脚的数据寄存器 作用是将PORTKDE的第四引脚的变量用LEDCPU代替 */
#define LEDCPU_dir DDRK_DDRK4  //DDRX是数据方向寄存器 数据方向寄存器的第四位宏定义为一个变量//

/*************************************************************/
/*                        初始化看门狗                       */
/*************************************************************/
void INIT_COP(void)   //init 通常做为 initialization 的缩写使用。即:设定初值,初始化//
{
  COPCTL = 0x07;     //设置看门狗复位间隔为1.048576s
}

/*************************************************************/
/*                         延时函数                          */
/*************************************************************/
void delay(void)
{
  unsigned int i;
  for(i=0;i<50000;i++);
}


/*************************************************************/
/*                         主函数                            */
/*************************************************************/
void main(void) {
  DisableInterrupts;          //屏蔽中断//
  INIT_COP();                 //调用看门狗函数 对看门狗定时器周期初始化//
  LEDCPU_dir = 1;             //端口的数据输出到外设//
  LEDCPU = 0;                 //点亮da1//
  delay();                    //延时一段时间//
  LEDCPU = 1;                 //熄灭da1//
  EnableInterrupts;           //开中断//

  for(;;)                     //空循环,执行到退出为止,一般循环条件在循环体中给出//
  {
    _FEED_COP();              // ARMCOP=0X55; ARMCOP=0XAA;喂狗函数在hidef.h中已经宏定义过     ARMCOP=0X55; ARMCOP=0XAA; //
    delay();                  //延时一段时间 程序的执行时间要比看门狗的周期稍微长一些//
  }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-18 02:48 , Processed in 0.052042 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表