Newer
Older
matrix4x5 / main.c
/**
 *   @file main.c
 *
 *   @date 01.02.2015
 * @author Pascal Gollor
 *     web http://www.pgollor.de
 *
 * @copyright Dieses Werk ist unter einer Creative Commons Lizenz vom Typ
 * Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Deutschland zugänglich.
 * Um eine Kopie dieser Lizenz einzusehen, konsultieren Sie
 * http://creativecommons.org/licenses/by-sa/3.0/de/ oder wenden Sie sich
 * brieflich an Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
 *
 * -- englisch version --
 * @n This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Germany License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.
 *
 */


#include "defs.h"

#include <avr/io.h>
#include <util/delay.h>			// delay_ms
#include <avr/interrupt.h>  // sei

#include "uart.h"
#include "keypad.h"


int main(void)
{
	// Initialize UART library
	uart_init(UART_BAUD_SELECT(UART_BAUDRATE, F_CPU));
	sei(); // enable interrupts for uart

	keypad_init(); // init keypad io ports

	uart_puts_P(CR "----- matrix 5x4 -----" CR CR);
	uart_flush();


	while (1)
	{
		// get key from keypad
		uint8_t key = keypad_getKeyAndWait();
		if (key != KEYPAD_NO_VALID_KEY)
		{
			printf("key: %c" CR CR, key);
		}

		_delay_ms(50);
	}

	return 0;
}