Appendix 54 – IBASE MB837-D25 User Manual
Page 60
APPENDIX
54
MB837-D25 / MB837-D25-R User’s Manual
File of the 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 "W627UHG.H"
//---------------------------------------------------------------------------
int main (void);
void Dio5Initial(void);
void Dio5SetOutput(unsigned char);
unsigned char Dio5GetInput(void);
void Dio5SetDirection(unsigned char);
unsigned char Dio5GetDirection(void);
//---------------------------------------------------------------------------
int main (void)
{
char SIO;
SIO = Init_W627UHG();
if (SIO == 0)
{
printf("Can not detect Winbond 83627UHG, program abort.\n");
return(1);
}
Dio5Initial();
//for GPIO50..57
Dio5SetDirection(0x0F); //GP50..53 = input, GP54..57=output
printf("Current DIO direction = 0x%X\n", Dio5GetDirection());
printf("Current DIO status = 0x%X\n", Dio5GetInput());
printf("Set DIO output to high\n");
Dio5SetOutput(0x0F);
printf("Set DIO output to low\n");
Dio5SetOutput(0x00);
return 0;
}
//---------------------------------------------------------------------------
void Dio5Initial(void)
{
unsigned char ucBuf;
Set_W627UHG_LD(0x08);
//switch to logic device 8
//enable the GP5 group
ucBuf = Get_W627UHG_Reg(0x30);
ucBuf |= 0x02;