//--------------------------- Variable --------------------------// unsigned long int time_delay = 0; //--------------------- Function Prototype ----------------------// static void delay(unsigned long int ms); //--------------------------- Function --------------------------// /* * Name : main * Description : --- * Author : ysloveivy. * * History * -------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * -------------------- */ int main(void) { int i; for(i = 0;i < 10000000;i++); led.initialize(); key.initialize(); systick.initialize(); wwdg.initialize(); LED_RED_ON; while(1){ while(!KEY_INPUT); delay(30); //30ms喂狗 wwdg.feed_dog(); } } /* * Name : delay * Description : --- * Author : ysloveivy. * * History * -------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * -------------------- */ static void delay(unsigned long int ms) { time_delay = ms; while(time_delay != 0); }2.WWDG初始化及喂狗代码复制/* * Name : initialize * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ static int initialize(void) { //21.06ms 49.9ms之间喂狗 RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); //使能窗口看门狗时钟 WWDG_SetPrescaler(WWDG_Prescaler_8); //设置预分频值 WWDG_SetWindowValue(100); //设置窗口值 WWDG_Enable(127); //设置计数器初值,并使能窗口看门狗 return 0; } /* * Name : feed_dog * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ static void feed_dog(void) { WWDG_SetCounter(127); //重置计数器,喂狗 }3.系统滴答定时器中断复制/* * Name : SysTick_Handler * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ void SysTick_Handler(void) { static int counter = 0; if((counter ++ % 1000) == 0){ systick.second_flag = 1; } time_delay --; }五、实验现象 iCore3 双核心板红色 LED 常亮,当按键一直按下,看门狗一直复位 ARM,红灯闪烁。六、代码包下载 网盘:http://pan.baidu.com/s/1qWEK7fQ
/* * Name : initialize * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ static int initialize(void) { //21.06ms 49.9ms之间喂狗 RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG, ENABLE); //使能窗口看门狗时钟 WWDG_SetPrescaler(WWDG_Prescaler_8); //设置预分频值 WWDG_SetWindowValue(100); //设置窗口值 WWDG_Enable(127); //设置计数器初值,并使能窗口看门狗 return 0; } /* * Name : feed_dog * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ static void feed_dog(void) { WWDG_SetCounter(127); //重置计数器,喂狗 }3.系统滴答定时器中断复制/* * Name : SysTick_Handler * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ void SysTick_Handler(void) { static int counter = 0; if((counter ++ % 1000) == 0){ systick.second_flag = 1; } time_delay --; }五、实验现象 iCore3 双核心板红色 LED 常亮,当按键一直按下,看门狗一直复位 ARM,红灯闪烁。六、代码包下载 网盘:http://pan.baidu.com/s/1qWEK7fQ
/* * Name : SysTick_Handler * Description : --- * Author : ysloveivy. * * History * ------------------- * Rev : 0.00 * Date : 11/21/2015 * * create. * ------------------- */ void SysTick_Handler(void) { static int counter = 0; if((counter ++ % 1000) == 0){ systick.second_flag = 1; } time_delay --; }五、实验现象 iCore3 双核心板红色 LED 常亮,当按键一直按下,看门狗一直复位 ARM,红灯闪烁。六、代码包下载 网盘:http://pan.baidu.com/s/1qWEK7fQ
举报
本版积分规则 发表回复 回帖并转播 回帖后跳转到最后一页
12
13
7
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注电源系统设计
扫码关注21ic项目外包
扫码浏览21ic手机版
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才
京公网安备 11010802024343号