📄 gpio.c
字号:
// gpio.c ---- 实验一 :测试GPIO口,控制D2灯(IOPF6)闪烁
//ZLX ---- SEED-DSK 2407板
#include "register.h"
// 系统初始化子程序
int initial()
{
asm(" setc INTM"); // 禁止所有中断
asm(" setc SXM"); // 抑制符号位扩展
asm(" clrc OVM"); // 累加器中结果正常溢出
asm(" clrc CNF"); // B0被配置为数据存储空间
*SCSR1=0x0000; // CLKIN=10M,CLKOUT=4*CLKIN=40M
*WDCR=0x0E8; // 不使能看门狗,因为SCSR2中的WDOVERRIDE
//即WD保护位复位后的缺省值为1,故可以用软件禁止看门狗
*IMR=0x0000; // 禁止所有中断
*IFR=0x0FFFF; // 清除全部中断标志,"写1清0"
*MCRC=*MCRC&0X0BFFF; //把IOPF6端口配置为一般I/O端口
*PFDATDIR=*PFDATDIR|0X4040; //IOPF6端口设置为输出方式,且IOPF6=1,D2灯亮
}
//延时子程序
void Delay(int dly)
{
int i;
for(;dly>0;dly--)
for(i=0;i<5000;i++);
}
// 若是由于干扰引起其它中断,则执行此子程序
void interrupt nothing()
{
return;
}
// 主程序
main()
{
initial(); // 系统初始化
while(1)
{
IOPF6_LOW; //IOPF6=0,D2灯灭
Delay(50); //延时
IOPF6_HIGH; // IOPF6=1,D2灯亮
Delay(50); //延时
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -