beautypg.com

Digital i/o sample configuration, Installation 20, Ib831 user’s manual – IBASE IB831 User Manual

Page 24: Filename:main.cpp

background image

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)