p65_wdt_prescaler_change.c

来自「AVR ATmega1280在IAR Embedded Workbench ID」· C语言 代码 · 共 34 行

C
34
字号
/*********************************************************************************   
丁玉波试验过的程序:这个程序是第65页的例子
一次只能打开一个文件运行,不要多个例子同时打开运行,config.h文件都在同一个文件中
对ATmega2560.pdf英文版449页手册的所有例子都试验了
可以作为外部函数调用,如果要独立运行试验,请将Pxx改为main即可
丁玉波      2009.04.15.   
Compiler:   IAR for AVR 4.20  
Target:     Mega1280 (该手册也适用于ATmega640,ATmega1281,ATmega2560,ATmega2561)
Crystal:    16.0000 MHz   
Used:       
修改记录:
**********************************************************************************/  
#pragma once  /*保证头文件只被编译一次*/
#include "config.h"	/*头文件配置文件,已将19个例子的头文件都配置了,不用的可删掉*/

void p65_WDT_Prescaler_Change(void)
{
__disable_interrupt();
__watchdog_reset();
/*启动时钟序列*/
WDTCSR|=(1<<WDCE)|(1<<WDE);
/*设置新的比例因子(时钟溢出)值=64K周期(~0.5s)*/
WDTCSR=(1<<WDE)|(1<<WDP2)|(1<<WDP0);
__enable_interrupt();
}
void main(void)
{
p65_WDT_Prescaler_Change();   
} 




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?