绿色-看门狗问题请教,谢谢。第一次提问,不懂请教我

问题描述

看门狗问题请教,谢谢。第一次提问,不懂请教我

/*******************************************************************************

  • 文件名称:WDTAsWD_Ex.c
  • 功 能:CC253x系列片上系统基础实验--- 看门狗定时器作为看门狗
  • 描 述:让看门狗定时器工作在看门狗模式,超时时间为0.25s(即到达0.25s之前还
  • 没喂狗就产生复位)。程序首先闪烁LED6(蓝色)、LED5(绿色)和LED4(黄色)
  • ,没有喂狗,当用户按下SW5的时候就进入喂狗循环,LED停止闪烁
  • 实验硬件:SK-SmartRF05EB
  • 作 者:POWER
  • 日 期:2010-04-18
    ******************************************************************************/

/* 包含头文件 /
/
*******************************************************************/
#include "ioCC2530.h" // CC2530的头文件,包含对CC2530的寄存器、中断向量等的定义
/********************************************************************/

/*********************************************************************

  • 函数名称:delay
  • 功 能:软件延时
  • 入口参数:无
  • 出口参数:无
  • 返 回 值:无
    ********************************************************************/
    void delay(void)
    {
    unsigned short i; // 定义无符号16位(bit)整型变量i,取值范围0~65535
    unsigned char j; // 定义无符号8位(bit)整型变量j,取值范围0~255

    for(i=0;i<10000;i++)
    {
    for(j=0;j<200;j++)
    {
    /* 插入三条汇编指令NOP */
    asm("NOP");
    asm("NOP");
    asm("NOP");
    asm("NOP");
    }

    }

    }

/*********************************************************************

  • 函数名称:BlinkLeds
  • 功 能:闪烁LED
  • 入口参数:无
  • 出口参数:无
  • 返 回 值:无
    ********************************************************************/
    void BlinkLeds(void)
    {
    /* 熄灭LED6(蓝色)、LED5(绿色)和LED4(黄色) */
    P1_0 = 0; // P1.0输出低电平熄灭其所控制的LED6(蓝色)
    P1_1 = 0; // P1.1输出低电平熄灭其所控制的LED5(绿色)
    P1_4 = 0; // P1.4输出低电平熄灭其所控制的LED4(黄色)

    delay(); // 延时

    /* 点亮LED1(绿色)、LED2(红色)和LED3(黄色) */
    P1_0 = 1; // P1.0输出高电平点亮其所控制的LED6(蓝色)
    P1_1 = 1; // P1.1输出高电平点亮其所控制的LED5(绿色)
    P1_4 = 1; // P1.4输出高电平点亮其所控制的LED4(黄色)

    delay(); // 延时

    }

/*********************************************************************

  • 函数名称:FeedWD
  • 功 能:喂狗
  • 入口参数:无
  • 出口参数:无
  • 返 回 值:无
    ********************************************************************/
    void FeedWD(void)
    {
    WDCTL |= 0xA0;
    WDCTL |= 0x50;
    }

/*********************************************************************

  • 函数名称:main
  • 功 能:main函数入口
  • 入口参数:无
  • 出口参数:无
  • 返 回 值:无
    ********************************************************************/
    void main(void)
    {
    unsigned char i;

    /*
    由於CC253x系列片上系统上电复位后,所有21个数字I/O均默认为具有
    上拉的通用输入I/O,因此本实验只需要改变作为LED控制信号的P1.0和P1.1
    和P1.4方向为输出即可。另外还需要将P0.4设置为输入上拉模式。
    在用户的实际应用开发中,我们建议用户采用如下步骤来配置数字I/O:
    1. 设置数字I/O为通用I/O
    2. 设置通用I/O的方向
    3. 若通用I/O的方向被配置为输入,可配置上拉/下拉/三态模式
    4. 若通用I/O的方向被配置为输出,可设置其输出高/低电平
    /
    /
    配置P1.0、P1.1和P1.4的方向为输出 /
    P1DIR |= 0x13; // 0x13 = 0B00010011
    /
    设置P0.4为三态 /
    P0INP |= 0x10;
    /
    设置P0口为上拉*/

    P2INP |= (0x01 << (0+5));

    P1_0 = 0; // P1.0输出低电平熄灭其所控制的LED6(蓝色)
    P1_1 = 0; // P1.1输出低电平熄灭其所控制的LED5(绿色)
    P1_4 = 0; // P1.4输出低电平熄灭其所控制的LED4(黄色)

    /* LED1(绿色)、LED2(红色)和LED3(黄色)闪烁8次 */
    for(i=0;i<8;i++)

    BlinkLeds();

    /* 选择32.768KHz晶体振荡器作为32KHz时钟源 */
    CLKCONCMD &= ~0x80; // 选择32.768KHz晶体振荡器作为32KHz时钟源
    while((CLKCONSTA & 0x80) == 0x80); // 等待32.768KHz晶体振荡器稳定

    /* 配置并启动看门狗定时器*/
    WDCTL |= ((0x02 << 2) | // 看门狗模式
    (0x01 << 0)); // 最终计数值8192,即超时时间为0.25s(32.768KHz晶体振荡器作为32KHz时钟源)

    FeedWD(); // 喂狗

    /* 循环喂狗 */
    while(1)
    {

    FeedWD(); // 喂狗

    while(P0_4 & 0x01);

    }

    }

这个程序和解释有错吗?谢谢回答

解决方案

下载到开发班上 按下相应按键 没反应

时间: 2024-12-31 09:30:25

绿色-看门狗问题请教,谢谢。第一次提问,不懂请教我的相关文章

文件夹看门狗v2.5免注册美化绿色版 下载_常用工具

[文件夹看门狗v2.5]适于安装Windows系统的计算机中◇本机硬盘◇和◇移动存储器◇中文件夹加密.操作简便,将软件拷贝到待加密文件夹中,输入密码点击"加密"按钮,就OK啦!为绿色免注册美化版! 无需原版  下载地址

java ee-没有C币,第一次提问,这个问题困扰很久了,请大神帮忙协助解决,谢谢!

问题描述 没有C币,第一次提问,这个问题困扰很久了,请大神帮忙协助解决,谢谢! 单独建立项目同样的配置不会出现这个问题,与spring mvc+mybatis框放在一起就会报这个错. <servlet> <servlet-name>Rest Servlet</servlet-name> <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-cl

java-小白第一次提问。请大牛解答。idea无法调试。

问题描述 小白第一次提问.请大牛解答.idea无法调试. 控制台出现这样的问题.是为什么呢? ERROR: transport library not found: dt_socket ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509) JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../.

软件看门狗:别让你的程序没有响应

一.概述 一些重要的程序,必须让它一直跑着:而且还要时时关心它的状态--不能让它出现死锁现象.当然,如果一个主程序会出现死锁,肯定是设计或者编程上的失误.我们首要做的事是,把这个Bug揪出来.但如果时间紧迫,这个Bug又"飘忽不定",那么,我们还是先写一个软件"看门狗",暂时应一下急吧. "看门狗"的需求描述:"看门狗"的运行不出现界面窗口,具有一定的隐蔽性:定时判断目标进程是否运行在当前系统中,如果没有则启动目标进程:判断目

ntpdate watchdog-应用程序调用系统命令ntpdate,导致看门狗重启

问题描述 应用程序调用系统命令ntpdate,导致看门狗重启 命令如下: ntpdate -p 1 ntp.sjtu.edu.cn 看门狗超时时间是1.5s,每次调用NTP同步,就会触发看门狗重启.求助!!

linux内核-关于Linux内核看门狗的疑问

问题描述 关于Linux内核看门狗的疑问 在内核源码中,Linux内核看门狗线程的调度策略是SCHED_FIFO,而我自己的内核模块中调度策略默认为SCHED_NORMAL,按理说FIFO比NORMAL的优先级要高,可为什么我自己模块中的死循环还是让看门狗饿死了,求解释.

嵌入式 uboot以及kernel添加看门狗临时记录(个人记录未整理乱)

Uboot_Kernerl_Add_Watch_Dog:   U-Boot 2010.06 (Nov 01 2013 - 15:28:44) DRAM:  128 MiBCheck spi flash controller v350... FoundSpi(cs1) ID: 0xEF 0x40 0x18 0x00 0x00 0x00Spi(cs1): Block:64KB Chip:16MB Name:"W25Q128B"*** Warning - bad CRC, using def

arm8裸机开发看门狗问题

问题描述 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(){ pri

服务器-第一次提问~关于ejabberd的一个小小的问题

问题描述 第一次提问~关于ejabberd的一个小小的问题 前几天在网上下了个iphone的demo,基于XMPP的及时通讯,自己安装了ejabberd服务器,真机调试的时候如果是连接同一个网络下的wifi,可以和mac上的adium消息互通,可是如果把wifi关了,连接4G网络的话,就连好友列表都获取不了,ejabberd服务器也没有显示在线用户,也就是说登录不上,是不是ejabberd服务器只能在局域网内用? 解决方案 一个小小的问题 解决方案二: http://www.cocoachina