📄 gpio.c
字号:
/////////////////////////////////////////////////
// Example For ICETEK-VC5416-EDU //
// CTR Version : V4 //
// Filename: GPIO.c //
// Project : GPIO.pjt //
// Version : 2.00 //
// Write by: Daniel Hawk //
// Company : Realtimedsp Co.Ltd. //
// //
// All Rights opened & no Onus 2005.06 //
/////////////////////////////////////////////////
#define SPSA0 *(unsigned int *)0x38
#define SPSD0 *(unsigned int *)0x39
#define REGISTERCLKMD (*(unsigned int *)0x58)
ioport unsigned char port8000;
ioport unsigned char port8001;
ioport unsigned char port8002;
ioport unsigned char port8007;
#define CTRGR port8000
#define CTRKEY port8001
#define CTRLCDCMDR port8001
#define CTRLCDCR port8002
#define CTRCLKEY port8002
#define CTRLR port8007
void Delay(unsigned int nTime);
main()
{
unsigned int uWork;
REGISTERCLKMD=0;
CTRGR=0;
CTRGR=0x80;
CTRGR=2;
CTRLR=0; // 关闭东西方向的交通灯
CTRLR=0x40; // 关闭南北方向的交通灯
uWork=CTRCLKEY; // 清除键盘缓冲区
SPSA0=1; // 设置McBSP0的SPCR2控制寄存器
uWork=SPSD0;
uWork&=0xfffe; // 标志XRST=0
SPSD0=uWork;
SPSA0=0x0e; // 设置McBSP0的PCR1寄存器
uWork=SPSD0;
uWork|=0x2800; // 设置:XIOEN=1 FSXM=1,使能通用I/O功能,FSX用于输出
SPSD0=uWork;
while ( 1 )
{
SPSA0=0x0e; // 设置McBSP0的PCR1寄存器
uWork=SPSD0;
uWork|=0x2800;
uWork^=0x8; // FSXP=~FSXP,BFSX0引脚状态取反
SPSD0=uWork;
Delay(4096);
}
}
void Delay(unsigned int nDelay)
{
int i,j,k=0;
for ( i=0;i<nDelay;i++ )
for ( j=0;j<64;j++ )
k++;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -