/* blink.c -- Blink program for Christmas trees

   Copyright 2000, 2001, 2002 Free Software Foundation, Inc.

        Written by Stephane Carrez (stcarrez@nerim.fr)

 

This file is part of GTAM.

 

GTAM is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2, or (at your option)

any later version.

 

GTAM is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

 

You should have received a copy of the GNU General Public License

along with GTAM; see the file COPYING. If not, write to

the Free Software Foundation, 59 Temple Place - Suite 330,

Boston, MA 02111-1307, USA. */

 

#include <sys/ports.h>

 

#define BIT_0 (1<<0)

#define BIT_1 (1<<1)

#define BIT_2 (1<<2)

#define BIT_3 (1<<3)

#define BIT_4 (1<<4)

#define BIT_5 (1<<5)

#define BIT_6 (1<<6)

#define BIT_7 (1<<7)

 

int __attribute__((noreturn)) main (void);

void _start (void);

void delay_ms (unsigned ms);

 

void _start()

{

__asm__ __volatile__ ("lds #0xFF");

__asm__ __volatile__ ("bra main");

}

 

/* Wait 'ms' milliseconds (not accurate (:- (:-), hand adjusted

and based on human time accuracy (understand, SCz feeling). */

void delay_ms(unsigned ms)

{

    while (ms > 0)

    {

                unsigned char i;

                unsigned short tcnt;

                for (i = 100; --i != 0;)

          tcnt = get_timer_counter ();

      ms--;

    }

}

 

int main()

{

    while (1)

    {

        _io_ports[M6811_PORTA] |= BIT_6;

        delay_ms (1);

        _io_ports[M6811_PORTA] &= ~BIT_6;

        delay_ms (1);

    }

}

 

Go Back