// Program - Fong Blink
// Function - Blink LED
// Author - TL Fong
// Build - 2013.08.19.02
// Date - 2013aug19hkt2216
// Hardware - LPC1114/102, LPC1114/301
// Software - GCC ARM 4.7, CoIDE 1.7.4, CoLinkEx 1.1, Flash Magic v7.51
// ***********************************************************************
// ***********************************************************************
// Functions
// ***********************************************************************
void BlinkExp();
void FongBlink011();
void UartPrintExp();
void FongBlink02();
// ***********************************************************************
// Main Function
// ***********************************************************************
int main()
{
// BlinkExp();
// FongBlink011();
// UartPrintExp();
FongBlink02();
return 0;
}
// ***********************************************************************
// End
// ***********************************************************************
// ***********************************************************************
// Program - Fong Blink02
// Function - Blink LED
// Author - TL Fong
// Build - 2013.08.19.02
// Date - 2013aug19hkt2124
// Hardware - LPC1114/301, LPC1114/102,
// Software - GCC ARM 4.7, CoIDE 1.7.4, CoLinkEx 1.1, Flash Magic v7.51
// ***********************************************************************
#include "lpc11xx_syscon.h"
#include "lpc11xx_gpio.h"
#include "lpc11xx_iocon.h"
// ***********************************************************************
// Constants definition
// ***********************************************************************
#define HIGH_LEVEL 1
#define LOW_LEVEL 0
#define OUTPUT_DIRECTION 1
#define INPUT_DIRECTION 0
// ***********************************************************************
// Functions
// ***********************************************************************
void systemInitialization();
void delayTenthSecond(int count);
void setPio05Direction(int direction);
void setPio05OutputHigh();
void setPio05OutputLow();
void setPio05Output(int logicLevel);
// ***********************************************************************
// Main function
// ***********************************************************************
void FongBlink02()
{
systemInitialization();
setPio05Direction(OUTPUT_DIRECTION);
while(1)
{
setPio05Output(LOW_LEVEL);
delayTenthSecond(2);
setPio05Output(HIGH_LEVEL);
delayTenthSecond(10);
}
}
// ***********************************************************************
// Delay functions
// ***********************************************************************
void delayTenthSecond(int count)
{
int i, j, k;
for (i = 0; i < count; i++)
{
for (j = 0; j < 0x4; j++)
{
for (k = 0; k < 0x000BB00; k++)
{
}
}
}
}
// ***********************************************************************
// System initialization functions
// ***********************************************************************
void systemInitialization()
{
/* Enable GPIO block clock */
SYSCON_AHBPeriphClockCmd(SYSCON_AHBPeriph_GPIO, ENABLE);
}
// ***********************************************************************
// GPIO functions
// ***********************************************************************
void setPio05Direction(int direction)
{
/* Set pin to GPIO */
IOCON_SetPinFunc(IOCON_PIO0_5, PIO0_5_FUN_PIO);
/* Set pin direction */Blink
if (direction == OUTPUT_DIRECTION)
GPIO_SetDir(PORT0, GPIO_Pin_5, 1);
else
GPIO_SetDir(PORT0, GPIO_Pin_5, 0);
}
void setPio05OutputHigh()
{
GPIO_SetBits(PORT0, GPIO_Pin_5);
}
void setPio05OutputLow()
{
GPIO_ResetBits(PORT0, GPIO_Pin_5);
}
void setPio05Output(int logicLevel)
{
if (logicLevel == HIGH_LEVEL)
GPIO_SetBits(PORT0, GPIO_Pin_5);
else
GPIO_ResetBits(PORT0, GPIO_Pin_5);
}
// ***********************************************************************
// End
// ***********************************************************************
No comments:
Post a Comment