📄 main.c
字号:
//===============================================================
//
// The information contained herein is the exclusive property of
// Sunplus Technology Co. And shall not be distributed, reproduced,
// or disclosed in whole in part without prior written permission.
//
// (C) COPYRIGHT 2001 SUNPLUS TECHNOLOGY CO.
// ALL RIGHTS RESERVED
//
// The entire notice above must be reproduced on all authorized copies.
//
//==============================================================
//============================================================
// 工程名称: IO-6.spj
//
// 功能描述: 实现IOB0~IOB15的状态随着IOA0输入电平的不同而变化,
// 当IOA0输入高电平时,IOB0~IOB15输出高电平;
// 当IOA0输入低电平时,IOB0~IOB15输出低电平。
//
// 文件来源: 《61板傻瓜书》第六章
// IDE环境: SUNPLUS u'nSPTM IDE 1.8.0(or later)
//
// 涉及的库: (a) C-Lib: (CMacro.lib);
//
// 组成文件: main.c
//
// 日期: 2005-3-25
//===========================================================
#define P_IOA_Data (volatile unsigned int *)0x7000 // 定义P_IOA_Data指针,使其指向0x7000的地址单元
#define P_IOA_Buffer (volatile unsigned int *)0x7001 // 定义P_IOA_Buffer指针,使其指向0x7001的地址单元
#define P_IOA_Dir (volatile unsigned int *)0x7002 // 定义P_IOA_Dir指针,使其指向0x7002的地址单元
#define P_IOA_Attrib (volatile unsigned int *)0x7003 // 定义P_IOA_Attrib指针,使其指向0x7003的地址单元
#define P_IOB_Data (volatile unsigned int *)0x7005 // 定义P_IOB_Data指针,使其指向0x7005的地址单元
#define P_IOB_Buffer (volatile unsigned int *)0x7006 // 定义P_IOB_Buffer指针,使其指向0x7006的地址单元
#define P_IOB_Dir (volatile unsigned int *)0x7007 // 定义P_IOB_Dir指针,使其指向0x7007的地址单元
#define P_IOB_Attrib (volatile unsigned int *)0x7008 // 定义P_IOB_Attrib指针,使其指向0x7008的地址单元
#define ClearWatchdog (volatile unsigned int *)0x7012 // 定义ClearWatchdog指针,使其指向0x7012的地址单元
int main()
{
*P_IOA_Data = 0x0000; //设置IOA0~IOA15为带下拉的低电平输入
*P_IOA_Dir = 0x0000;
*P_IOA_Attrib = 0x0000;
*P_IOB_Data = 0x0000; //设置IOB0~IOB15为带数据缓存的低电平输出
*P_IOB_Dir = 0xffff;
*P_IOB_Attrib = 0xffff;
while(1)
{
if(*P_IOA_Data==0x0001) //IOA0输入为高电平时IOB0~IOB15输出高电平
{
*P_IOB_Data = 0xffff;
*P_IOB_Dir = 0xffff;
*P_IOB_Attrib = 0xffff; }
if(*P_IOA_Data==0x0000) //IOA0输入为低电平时IOB0~IOB15输出低电平
{
*P_IOB_Data = 0x0000;
*P_IOB_Dir = 0xffff;
*P_IOB_Attrib = 0xffff;
}
*ClearWatchdog = 0x0001; //请看门狗
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -