Digital i/o sample configuration, Installation 20, Ib831 user’s manual – IBASE IB831 User Manual
Page 24: Filename:main.cpp
INSTALLATION
20
IB831 User’s Manual
Digital I/O Sample Configuration
Filename:Main.cpp
//---------------------------------------------------------------------------
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
//---------------------------------------------------------------------------
#include
#include
#include
#include
#include "W627DHG.H"
//---------------------------------------------------------------------------
int main (void);
void Dio3Initial(void);
void Dio3SetOutput(unsigned char);
unsigned char Dio3GetInput(void);
void Dio3SetDirection(unsigned char);
unsigned char Dio3GetDirection(void);
void Dio2Initial(void);
void Dio2SetOutput(unsigned char);
unsigned char Dio2GetInput(void);
void Dio2SetDirection(unsigned char);
unsigned char Dio2GetDirection(void);
//---------------------------------------------------------------------------
int main (void)
{
char SIO;
SIO = Init_W627DHG();
if (SIO == 0)
{
printf("Can not detect Winbond 83627DHG, program abort.\n");
return(1);
}
Dio2Initial();
Dio3Initial();
//for GPIO20..27
Dio2SetDirection(0xF7);
//GP23 =output
printf("Set DIO23 output to high\n");
Dio2SetOutput(0x08);
printf("Set DIO23 output to low\n");
Dio2SetOutput(0x00);
//for GPIO30..37
Dio3SetDirection(0x0F);
//GP30..33 = input, GP34..37=output
printf("Current DIO3 direction = 0x%X\n", Dio3GetDirection());
printf("Current DIO3 status = 0x%X\n", Dio3GetInput());
printf("Set DIO3 output to high\n");
Dio3SetOutput(0x0F);
printf("Set DIO3 output to low\n");
Dio3SetOutput(0x00);
return 0;
}
//---------------------------------------------------------------------------
void Dio2Initial(void)