beautypg.com

D. digital i/o sample code – IBASE IB945 User Manual

Page 61

background image

APPENDIX

IB945 User’s Manual

57

D. Digital I/O Sample Code

//---------------------------------------------------------------------------
//
// 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);
//---------------------------------------------------------------------------
int main (void)
{
char

SIO;


SIO = Init_W627DHG();

if (SIO == 0)

{

printf("Can not detect Winbond 83627DHG, program abort.\n");

return(1);

}

Dio3Initial();

//for

GPIO30..37

Dio3SetDirection(0x0F);

//GP30..33 = input, GP34..37=output

printf("Current DIO direction = 0x%X\n", Dio3GetDirection());


printf("Current DIO status = 0x%X\n", Dio3GetInput());


printf("Set DIO output to high\n");

Dio3SetOutput(0x0F);

printf("Set DIO output to low\n");

Dio3SetOutput(0x00);

return

0;

}
//---------------------------------------------------------------------------
void Dio3Initial(void)
{

unsigned char ucBuf;


//switch GPIO multi-function pin

ucBuf = Get_W627DHG_Reg(0x2C);