📄 p18.c
字号:
/*********************************************************************************
丁玉波试验过的程序:这个程序是第18页的例子
一次只能打开一个文件运行,不要多个例子同时打开运行,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 p18(void)
{
//char cSREG=0;
char temp=0;
char cSREG=0;
temp=cSREG; /*怪问题,不从cSREG向外送一次变量,Make 时总是出 */
/*Warning [Pe550]:variable"cSREG"was set but never used警告错误*/
cSREG=SREG; /*保存SREG*/
_CLI(); /*禁止中断*/
_EEPUT(0x10,temp);
_EEGET(temp,0x10);
SREG=cSREG; /*恢复SREG(I-bit)*/
_SEI(); /*置位全局中断使能标志*/
_SLEEP(); /*进入睡眠模式,等待中断发生*/
/*上条指令_SLEEP();在p18单独调试时用,与后面的联调时要屏蔽,否则是在睡眠状态*/
/*注意:在执行任何被挂起的中断之前首先进入睡眠模式*/
}
void main(void)
{
p18();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -