#include "s5pc100.h"
void pwm_init1()
{
GPD.GPDCON = (GPD.GPDCON & ~0xF0) | (0X2<<4); //set gpio timer out mode
TIMER.TCFG0 = ( TIMER.TCFG0 & ~0XFF ) + 0xff; //set pwm timer0,1 Prescaler value 254
TIMER.TCFG1 = ( TIMER.TCFG1 & ~0Xf0 ) + 3<<4; //set pwm timer1 divider value 1/8
TIMER1.TCNTB1 = 300;//set T
TIMER1.TCMPB1 = 250;
//TIMER1.TCMPB1 = 1000;
TIMER.TCON = 0X0e<<8; //set timer1 Manual Update
TIMER.TCON = 0X0d<<8; //clean Manual Update bin and start up timer1
}
void led_init()
{
volatile int i;
int j;
int k;
GPG3.GPG3CON = 0X1111;
for(j=0;j<3;j++)
{ for(k=0;k<15;k=k+2)
{
GPG3.GPG3DAT = k;
for(i = 0; i <= 500000; i++);
/* GPG3.GPG3DAT =0x8;
for(i = 0; i <= 500000; i++);
GPG3.GPG3DAT = 0x4;
for(i = 0; i <= 500000; i++);
GPG3.GPG3DAT = 0x2;
*/
}
// GPG3.GPG3DAT = 0xf;
for(k=1;k<=15;k=k+2)
{
GPG3.GPG3DAT = k;
for(i = 0; i <= 500000; i++);
}
}
}
int main()
{
// uart0_init();
//WDT.WTCON = 0X0; //disable watchdog
//WDT.WTCNT = 2014; // reset period is 1s
//WDT.WTCNT = 8056; // reset period is 4s
//WDT.WTCON = 255<<8 | 1<<5 | 3<<3 | 1<<0; //enable watchdog
int i;
led_init();
pwm_init1();
while(1)
{
for(i = 0; i <= 2000000; i++);
TIMER.TCON = 0X0C<<8;
break;
}
//while (1);
return 0;
}